class Qti::V1::Models::Numerics::ExactMatch

Public Class Methods

new(scoring_node) click to toggle source
Calls superclass method
# File lib/qti/v1/models/numerics/exact_match.rb, line 6
def initialize(scoring_node)
  super(scoring_node)
end

Public Instance Methods

scoring_data() click to toggle source
# File lib/qti/v1/models/numerics/exact_match.rb, line 10
def scoring_data
  return unless valid?
  Struct.new(
    :id,
    :type,
    :value
  ).new(
    equal_node.attributes['respident']&.value,
    'exactResponse',
    equal_node.content
  )
end

Private Instance Methods

content_consistent?() click to toggle source
# File lib/qti/v1/models/numerics/exact_match.rb, line 33
def content_consistent?
  equal_node.content == gte_node.content &&
    equal_node.content == lte_node.content
end
node_complete?() click to toggle source
# File lib/qti/v1/models/numerics/exact_match.rb, line 29
def node_complete?
  (equal_node && gte_node && lte_node).present?
end
valid?() click to toggle source
# File lib/qti/v1/models/numerics/exact_match.rb, line 25
def valid?
  node_complete? && content_consistent?
end