Class: CanvasQtiToLearnosityConverter::TemplateQuestion

Inherits:
QuizQuestion
  • Object
show all
Defined in:
lib/canvas_qti_to_learnosity_converter/questions/template_question.rb

Instance Method Summary collapse

Methods inherited from QuizQuestion

#convert, #dynamic_content_data, #extract_feedback, #extract_mattext, #extract_points_possible, #extract_stimulus, for, #initialize, #make_identifier, #process_assets!

Constructor Details

This class inherits a constructor from CanvasQtiToLearnosityConverter::QuizQuestion

Instance Method Details

#add_learnosity_assets(assets, path, learnosity) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/canvas_qti_to_learnosity_converter/questions/template_question.rb', line 30

def add_learnosity_assets(assets, path, learnosity)
  process_assets!(
    assets,
    path,
    learnosity[:template]
  )
  learnosity
end

#extract_templateObject



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/canvas_qti_to_learnosity_converter/questions/template_question.rb', line 5

def extract_template()
  placeholders = @xml.css("item > presentation > response_lid").map do |response_lid|
    ident = response_lid.attribute("ident")&.value
    ident&.gsub(/^response_/, "")
  end.compact

  template = get_template()
  placeholders.each do |placeholder|
    template.sub!("[#{placeholder}]", "{{response}}")
  end

  template
end

#extract_template_values(template) ⇒ Object



19
20
21
22
23
# File 'lib/canvas_qti_to_learnosity_converter/questions/template_question.rb', line 19

def extract_template_values(template)
  template.scan(/\[([^\]]+)\]/).map do |capture_list|
    capture_list.first
  end
end

#get_templateObject



25
26
27
28
# File 'lib/canvas_qti_to_learnosity_converter/questions/template_question.rb', line 25

def get_template()
  template_node_list = @xml.css("item > presentation > material > mattext")
  extract_mattext(template_node_list.first)
end