Class: Qti::Importer

Inherits:
Object
  • Object
show all
Defined in:
lib/qti.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path, assessment_id = nil) ⇒ Importer

Returns a new instance of Importer.



22
23
24
25
26
# File 'lib/qti.rb', line 22

def initialize(path, assessment_id = nil)
  @path, @package_root, @manifest = Importer.manifest(path)
  @assessment_id = assessment_id || @manifest.assessment_identifiers.first
  @import = @manifest.assessment_test(@assessment_id)
end

Instance Attribute Details

#assessment_idObject (readonly)

Returns the value of attribute assessment_id.



18
19
20
# File 'lib/qti.rb', line 18

def assessment_id
  @assessment_id
end

#package_rootObject (readonly)

Returns the value of attribute package_root.



17
18
19
# File 'lib/qti.rb', line 17

def package_root
  @package_root
end

Class Method Details

.assessment_identifiers_for(path) ⇒ Object



28
29
30
# File 'lib/qti.rb', line 28

def self.assessment_identifiers_for(path)
  manifest(path)[2].assessment_identifiers
end

.manifest(path) ⇒ Object



39
40
41
42
43
44
# File 'lib/qti.rb', line 39

def self.manifest(path)
  mpath = manifest_path(path)
  package_root = File.dirname(mpath)
  manifest = Qti::Models::Manifest.from_path!(mpath, package_root = package_root)
  [mpath, package_root, manifest]
end

.manifest_path(path) ⇒ Object



32
33
34
35
36
37
# File 'lib/qti.rb', line 32

def self.manifest_path(path)
  Find.find(path) do |subdir|
    return subdir if subdir =~ /imsmanifest.xml\z/
  end
  raise 'Manifest not found'
end

Instance Method Details

#assessment_item_refsObject



50
51
52
# File 'lib/qti.rb', line 50

def assessment_item_refs
  @import.assessment_items
end

#create_assessment_item(assessment_item) ⇒ Object



54
55
56
# File 'lib/qti.rb', line 54

def create_assessment_item(assessment_item)
  @import.create_assessment_item(assessment_item)
end

#create_question_group(question_group_ref) ⇒ Object



66
67
68
# File 'lib/qti.rb', line 66

def create_question_group(question_group_ref)
  @import.create_question_group(question_group_ref)
end

#create_stimulus(stimulus_ref) ⇒ Object



62
63
64
# File 'lib/qti.rb', line 62

def create_stimulus(stimulus_ref)
  @import.create_stimulus(stimulus_ref)
end

#stimulus_ref(assessment_item_ref) ⇒ Object



58
59
60
# File 'lib/qti.rb', line 58

def stimulus_ref(assessment_item_ref)
  @import.stimulus_ref(assessment_item_ref)
end

#test_objectObject



46
47
48
# File 'lib/qti.rb', line 46

def test_object
  @import
end