Sha256: cf18e0c236f2429787552bf675370605f42bd21ca7f651be06effc8b7e9f9eb0

Contents?: true

Size: 1014 Bytes

Versions: 6

Compression:

Stored size: 1014 Bytes

Contents

require "canvas_qti_to_learnosity_converter/questions/question"

module CanvasQtiToLearnosityConverter
  class TemplateQuestion < QuizQuestion
    def extract_template()
      placeholders = @xml.css("item > presentation > response_lid > material >
        mattext").map { |text| extract_mattext(text) }

      template = get_template()

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

      template
    end

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

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

    def add_learnosity_assets(assets, path)
      learnosity = to_learnosity

      CanvasQtiToLearnosityConverter.add_files_to_assets(
        assets,
        path + [:template],
        learnosity[:template]
      )
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
canvas_qti_to_learnosity_converter-2.5.0 lib/canvas_qti_to_learnosity_converter/questions/template_question.rb
canvas_qti_to_learnosity_converter-2.4.1 lib/canvas_qti_to_learnosity_converter/questions/template_question.rb
canvas_qti_to_learnosity_converter-2.4.0 lib/canvas_qti_to_learnosity_converter/questions/template_question.rb
canvas_qti_to_learnosity_converter-2.3.0 lib/canvas_qti_to_learnosity_converter/questions/template_question.rb
canvas_qti_to_learnosity_converter-2.2.0 lib/canvas_qti_to_learnosity_converter/questions/template_question.rb
canvas_qti_to_learnosity_converter-2.1.0 lib/canvas_qti_to_learnosity_converter/questions/template_question.rb