Class: Qti::Importer
- Inherits:
-
Object
- Object
- Qti::Importer
- Defined in:
- lib/qti.rb
Instance Method Summary collapse
- #assessment_item_refs ⇒ Object
- #create_assessment_item(assessment_item_ref) ⇒ Object
- #import_manifest ⇒ Object
-
#initialize(path) ⇒ Importer
constructor
A new instance of Importer.
- #test_object ⇒ Object
- #version_agnostic_test_object(assessment_test_file) ⇒ Object
Constructor Details
#initialize(path) ⇒ Importer
Returns a new instance of Importer.
5 6 7 8 9 |
# File 'lib/qti.rb', line 5 def initialize(path) Find.find(path) do |subdir| @path = subdir if subdir =~ /imsmanifest.xml/ end end |
Instance Method Details
#assessment_item_refs ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/qti.rb', line 29 def assessment_item_refs @assessment_item_refs ||= begin if @manifest.qti_1_href test_object.assessment_items else test_object.assessment_item_reference_hrefs end end end |
#create_assessment_item(assessment_item_ref) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/qti.rb', line 39 def create_assessment_item(assessment_item_ref) if @manifest.qti_1_href Qti::V1::Models::AssessmentItem.new(assessment_item_ref) else Qti::V2::Models::AssessmentItem.from_path!(assessment_item_ref) end end |
#import_manifest ⇒ Object
11 12 13 14 15 |
# File 'lib/qti.rb', line 11 def import_manifest @manifest = Qti::Models::Manifest.from_path!(@path) raise 'Unsupported QTI version' if @manifest.assessment_test_href.nil? @manifest.assessment_test_href end |
#test_object ⇒ Object
17 18 19 |
# File 'lib/qti.rb', line 17 def test_object version_agnostic_test_object(import_manifest) end |
#version_agnostic_test_object(assessment_test_file) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/qti.rb', line 21 def version_agnostic_test_object(assessment_test_file) if @manifest.qti_1_href Qti::V1::Models::Assessment.from_path!(assessment_test_file) else Qti::V2::Models::AssessmentTest.from_path!(assessment_test_file) end end |