Class: AtomicAssessmentsImport::Questions::Ordering
- Defined in:
- lib/atomic_assessments_import/questions/ordering.rb
Constant Summary collapse
- INDEXES =
("a".."o").to_a.freeze
- ORDER_MARKER =
/\s*---\s*(\d+)\s*\z/
Instance Attribute Summary
Attributes inherited from Question
Instance Method Summary collapse
Methods inherited from Question
#initialize, load, #metadata, #points, #scoring_type, #to_learnosity
Constructor Details
This class inherits a constructor from AtomicAssessmentsImport::Questions::Question
Instance Method Details
#question_data ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/atomic_assessments_import/questions/ordering.rb', line 16 def question_data raw_items = INDEXES.filter_map { |letter| @row["option #{letter}"] } if raw_items.any? { |item| item.match?(ORDER_MARKER) } list, valid_values = parse_order_markers(raw_items) else list = raw_items order = (@row["correct answer"] || "").split(";").map(&:strip).map(&:downcase) valid_values = order.filter_map { |letter| INDEXES.find_index(letter) } end super.merge( list: list, validation: { scoring_type: scoring_type, valid_response: { score: points, value: valid_values, }, } ) end |
#question_type ⇒ Object
10 11 12 |
# File 'lib/atomic_assessments_import/questions/ordering.rb', line 10 def question_type "orderlist" end |