Class: Qti::V2::Models::Interactions::ExtendedTextInteraction

Inherits:
BaseInteraction show all
Defined in:
lib/qti/v2/models/interactions/extended_text_interaction.rb

Constant Summary

Constants inherited from Base

Base::BODY_ELEMENTS_CSS, Base::CHOICE_ELEMENTS_CSS, Base::INTERACTION_ELEMENTS_CSS

Instance Attribute Summary

Attributes inherited from BaseInteraction

#node

Attributes inherited from Models::Base

#doc, #manifest, #package_root, #path, #resource

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseInteraction

#canvas_item_feedback, #initialize, #scoring_data_structs, #shuffled?, #xpath_with_single_check

Methods inherited from Base

#qti_version

Methods inherited from Models::Base

#css_with_single_check, from_path!, #initialize, #parse_html, #parse_xml, #preprocess_xml_doc, #raise_unsupported, #remap_href_path, #sanitize_content!, #xpath_with_single_check

Constructor Details

This class inherits a constructor from Qti::V2::Models::Interactions::BaseInteraction

Class Method Details

.matches(node, parent) ⇒ Object

This will know if a class matches



7
8
9
10
11
12
13
# File 'lib/qti/v2/models/interactions/extended_text_interaction.rb', line 7

def self.matches(node, parent)
  matches = node.xpath('.//xmlns:extendedTextInteraction')
  return false if matches.empty?

  raise Qti::UnsupportedSchema if matches.size > 1
  new(matches.first, parent)
end

Instance Method Details

#expected_linesObject

not used yet



16
17
18
# File 'lib/qti/v2/models/interactions/extended_text_interaction.rb', line 16

def expected_lines
  @node.attributes['expectedLines']&.value&.to_i || 0
end

#max_stringsObject



20
21
22
# File 'lib/qti/v2/models/interactions/extended_text_interaction.rb', line 20

def max_strings
  @node.attributes['maxStrings']&.value&.to_i
end

#min_stringsObject



24
25
26
# File 'lib/qti/v2/models/interactions/extended_text_interaction.rb', line 24

def min_strings
  @node.attributes['minStrings']&.value&.to_i || 0
end