Module: AtomicAssessmentsImport

Defined in:
lib/atomic_assessments_import.rb,
lib/atomic_assessments_import/csv.rb,
lib/atomic_assessments_import/utils.rb,
lib/atomic_assessments_import/export.rb,
lib/atomic_assessments_import/writer.rb,
lib/atomic_assessments_import/version.rb,
lib/atomic_assessments_import/exam_soft.rb,
lib/atomic_assessments_import/csv/converter.rb,
lib/atomic_assessments_import/questions/essay.rb,
lib/atomic_assessments_import/exam_soft/chunker.rb,
lib/atomic_assessments_import/questions/matching.rb,
lib/atomic_assessments_import/questions/ordering.rb,
lib/atomic_assessments_import/questions/question.rb,
lib/atomic_assessments_import/exam_soft/converter.rb,
lib/atomic_assessments_import/exam_soft/extractor.rb,
lib/atomic_assessments_import/questions/short_answer.rb,
lib/atomic_assessments_import/questions/cloze_dropdown.rb,
lib/atomic_assessments_import/questions/multiple_choice.rb,
lib/atomic_assessments_import/exam_soft/chunker/strategy.rb,
lib/atomic_assessments_import/questions/fill_in_the_blank.rb,
lib/atomic_assessments_import/exam_soft/extractor/options_detector.rb,
lib/atomic_assessments_import/exam_soft/extractor/feedback_detector.rb,
lib/atomic_assessments_import/exam_soft/extractor/metadata_detector.rb,
lib/atomic_assessments_import/exam_soft/chunker/heading_split_strategy.rb,
lib/atomic_assessments_import/exam_soft/chunker/metadata_marker_strategy.rb,
lib/atomic_assessments_import/exam_soft/extractor/question_stem_detector.rb,
lib/atomic_assessments_import/exam_soft/extractor/question_type_detector.rb,
lib/atomic_assessments_import/exam_soft/extractor/correct_answer_detector.rb,
lib/atomic_assessments_import/exam_soft/chunker/numbered_question_strategy.rb,
lib/atomic_assessments_import/exam_soft/chunker/horizontal_rule_split_strategy.rb

Defined Under Namespace

Modules: CSV, ExamSoft, Export, Questions, Utils Classes: Error, Writer

Constant Summary collapse

VERSION =
"0.5.0"

Class Method Summary collapse

Class Method Details

.convert(path, import_from) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/atomic_assessments_import.rb', line 20

def self.convert(path, import_from)
  type = MimeMagic.by_path(path)&.type
  converter_class = @converters[[type, import_from]]
  
  raise "Unsupported file type: #{type} from #{import_from == nil ? "Unspecified Source" : import_from}. Make sure the file type conversion is available for the specified source." unless converter_class
  
  converter_class.new(path).convert
end

.convert_to_aa_format(input_path, output_path, import_from: nil) ⇒ Object



46
47
48
49
50
51
52
# File 'lib/atomic_assessments_import.rb', line 46

def self.convert_to_aa_format(input_path, output_path, import_from: nil)
  result = convert(input_path, import_from)
  AtomicAssessmentsImport::Export.create(output_path, result)
  {
    errors: result[:errors],
  }
end

.register_converter(mime_type, source, klass) ⇒ Object



15
16
17
18
# File 'lib/atomic_assessments_import.rb', line 15

def self.register_converter(mime_type, source, klass)
  @converters ||= {}
  @converters[[mime_type, source]] = klass
end