class Qti::V1::Models::Assessment
Constants
- GROUP_ID
Public Instance Methods
assessment_items()
click to toggle source
# File lib/qti/v1/models/assessment.rb, line 13 def assessment_items @doc.xpath("//*[self::#{GROUP_ID} or self::xmlns:item[not(ancestor::#{GROUP_ID})]]") end
create_assessment_item(assessment_item)
click to toggle source
# File lib/qti/v1/models/assessment.rb, line 17 def create_assessment_item(assessment_item) return nil if sub_section?(assessment_item) item = Qti::V1::Models::AssessmentItem.new(assessment_item, @package_root, self) item.manifest = manifest item end
create_question_group(group_ref)
click to toggle source
# File lib/qti/v1/models/assessment.rb, line 33 def create_question_group(group_ref) return nil unless question_group?(group_ref) Qti::V1::Models::QuestionGroup.new(group_ref) end
create_stimulus(stimulus_ref)
click to toggle source
# File lib/qti/v1/models/assessment.rb, line 28 def create_stimulus(stimulus_ref) return nil unless stimulus?(stimulus_ref) Qti::V1::Models::StimulusItem.new(stimulus_ref) end
stimulus_ref(assessment_item_ref)
click to toggle source
# File lib/qti/v1/models/assessment.rb, line 24 def stimulus_ref(assessment_item_ref) assessment_item_ref end
title()
click to toggle source
# File lib/qti/v1/models/assessment.rb, line 9 def title @title ||= xpath_with_single_check('.//xmlns:assessment/@title')&.content || File.basename(@path, '.xml') end
Private Instance Methods
question_group?(ref_node)
click to toggle source
# File lib/qti/v1/models/assessment.rb, line 53 def question_group?(ref_node) ref_node.xpath("self::#{GROUP_ID}").present? end
stimulus?(ref_node)
click to toggle source
# File lib/qti/v1/models/assessment.rb, line 44 def stimulus?(ref_node) meta_node = ref_node.at_xpath( './/xmlns:qtimetadatafield[./xmlns:fieldlabel/text()="question_type"]' ) return false unless meta_node.present? type_node = meta_node.at_xpath('.//xmlns:fieldentry') type_node&.text() == 'text_only_question' end
sub_section?(ref_node)
click to toggle source
# File lib/qti/v1/models/assessment.rb, line 40 def sub_section?(ref_node) stimulus?(ref_node) || question_group?(ref_node) end