Class: Senkyoshi::NumericalQuestion

Inherits:
Question show all
Defined in:
lib/senkyoshi/models/questions/numerical.rb

Constant Summary

Constants inherited from Question

Question::ITEM_FUNCTION, Question::QUESTION_TYPE

Instance Attribute Summary

Attributes inherited from Question

#answers

Instance Method Summary collapse

Methods inherited from Question

from, #get_fraction, #iterate_item, #set_answers, #set_correct_answers, #set_feedback, #set_incorrect_answers, #set_material, #set_max_score

Methods inherited from Resource

#_find_directories, #_fix_path, #_matches_directory_xid?, #_search_and_replace, #cleanup, #fix_html, get_pre_data, #matches_xid?, #strip_xid

Constructor Details

#initializeNumericalQuestion

Returns a new instance of NumericalQuestion.



20
21
22
23
24
# File 'lib/senkyoshi/models/questions/numerical.rb', line 20

def initialize
  @ranges = {}
  @tolerances = {}
  super
end

Instance Method Details

#canvas_conversion(assessment, _resources = nil) ⇒ Object



45
46
47
48
49
# File 'lib/senkyoshi/models/questions/numerical.rb', line 45

def canvas_conversion(assessment, _resources = nil)
  @question.tolerances = @tolerances
  @question.ranges = @ranges
  super
end

#iterate_xml(data) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/senkyoshi/models/questions/numerical.rb', line 26

def iterate_xml(data)
  super
  if data.at("resprocessing")
    conditionvar = data.at("resprocessing").at("conditionvar")
  end

  if conditionvar
    range = CanvasCc::CanvasCC::Models::Range.new
    range.low_range = conditionvar.at("vargte").text.to_i
    range.high_range = conditionvar.at("varlte").text.to_i
    answer_text = conditionvar.at("varequal").text.to_i
    answer = Answer.new(answer_text)
    @ranges[answer.id] = range
    answer.fraction = @max_score
    @answers.push(answer)
  end
  self
end