Class: CanvasQtiToLearnosityConverter::MultipleDropdownsQuestion
- Inherits:
-
TemplateQuestion
- Object
- QuizQuestion
- TemplateQuestion
- CanvasQtiToLearnosityConverter::MultipleDropdownsQuestion
- Defined in:
- lib/canvas_qti_to_learnosity_converter/questions/multiple_dropdowns.rb
Instance Method Summary collapse
Methods inherited from TemplateQuestion
#add_learnosity_assets, #extract_template, #extract_template_values, #get_template
Methods inherited from QuizQuestion
#convert, #dynamic_content_data, #extract_mattext, #extract_points_possible, #extract_stimulus, #initialize, #make_identifier, #process_assets!
Constructor Details
This class inherits a constructor from CanvasQtiToLearnosityConverter::QuizQuestion
Instance Method Details
#extract_responses ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/canvas_qti_to_learnosity_converter/questions/multiple_dropdowns.rb', line 40 def extract_responses() template = get_template() extract_template_values(template).map do |name| result = @xml.css(%{item > presentation > response_lid[ident="response_#{name}"] > render_choice mattext}).map do |node| extract_mattext(node) end if result.empty? nil else result end end.compact end |
#extract_validation ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/canvas_qti_to_learnosity_converter/questions/multiple_dropdowns.rb', line 15 def extract_validation() template = get_template() valid_responses = extract_template_values(template).map do |name| correct_ident = @xml.css(%{item > resprocessing > respcondition > conditionvar > varequal[respident="response_#{name}"]}).first&.content @xml.css(%{item > presentation > response_lid[ident="response_#{name}"] response_label}).map do |node| text = extract_mattext(node.css("mattext").first) ident = node.attribute("ident").text ident == correct_ident ? text : nil end.compact end.flatten { "scoring_type" => "partialMatchV2", "rounding" => "none", "valid_response" => { "value" => valid_responses, "score" => extract_points_possible, } } end |
#to_learnosity ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'lib/canvas_qti_to_learnosity_converter/questions/multiple_dropdowns.rb', line 5 def to_learnosity { type: "clozedropdown", stimulus: "", template: extract_template(), validation: extract_validation(), possible_responses: extract_responses(), } end |