Sha256: 515b9b3987641f9b1f8ddf05553ef5518788f0f37e50c6137c8933746142b92a

Contents?: true

Size: 725 Bytes

Versions: 3

Compression:

Stored size: 725 Bytes

Contents

require "securerandom"

module CanvasQtiToLearnosityConverter
  class QuizQuestion
    extend Forwardable
    def_delegators :@xml, :css

    def initialize(xml)
      @xml = xml
    end

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

    def extract_points_possible
      @xml.css(%{ item > itemmetadata > qtimetadata >
        qtimetadatafield > fieldlabel:contains("points_possible")})
        &.first&.next&.text&.to_f || 1.0
    end

    def extract_mattext(mattext_node)
      mattext_node.content
    end

    def make_identifier()
      SecureRandom.uuid
    end

    def dynamic_content_data()
      {}
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
canvas_qti_to_learnosity_converter-2.5.0 lib/canvas_qti_to_learnosity_converter/questions/question.rb
canvas_qti_to_learnosity_converter-2.4.1 lib/canvas_qti_to_learnosity_converter/questions/question.rb
canvas_qti_to_learnosity_converter-2.4.0 lib/canvas_qti_to_learnosity_converter/questions/question.rb