class CanvasCc::CanvasCC::MultipleDropdownsQuestionWriter
Private Class Methods
write_response_conditions(processing_node, question)
click to toggle source
# File lib/canvas_cc/canvas_cc/multiple_dropdowns_question_writer.rb, line 26 def self.write_response_conditions(processing_node, question) weight = 100.to_f/question.responses.count question.responses.each do |response| correct_choice = response[:choices].find{|c| c[:answer] == true} next unless (correct_choice && !correct_choice.empty?) processing_node.respcondition do |condition_node| condition_node.conditionvar do |var_node| var_node.varequal correct_choice[:id], :respident => "response_#{response[:id]}" end condition_node.setvar "%.2f" % weight, :varname => 'SCORE', :action => 'Add' end end end
write_responses(presentation_node, question)
click to toggle source
# File lib/canvas_cc/canvas_cc/multiple_dropdowns_question_writer.rb, line 7 def self.write_responses(presentation_node, question) question.responses.each do |response| presentation_node.response_lid(:ident => "response_#{response[:id]}") do |response_node| response_node.material do |material_node| material_node.mattext(response[:id], :texttype => 'text/plain') end response_node.render_choice do |choice_node| response[:choices].each do |choice| choice_node.response_label(:ident => choice[:id]) do |label_node| label_node.material do |material_node| material_node.mattext(choice[:text], :texttype => 'text/plain') end end end end end end end