Module: AJIMS::LTI::Extensions::OutcomeData::OutcomeRequest

Includes:
ExtensionBase, Base
Defined in:
lib/ajims/lti/extensions/outcome_data.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Base

#outcome_request_extensions

Methods included from ExtensionBase

#outcome_request_extensions, #outcome_response_extensions

Instance Attribute Details

#outcome_cdata_textObject

Returns the value of attribute outcome_cdata_text.



134
135
136
# File 'lib/ajims/lti/extensions/outcome_data.rb', line 134

def outcome_cdata_text
  @outcome_cdata_text
end

#outcome_download_urlObject

Returns the value of attribute outcome_download_url.



134
135
136
# File 'lib/ajims/lti/extensions/outcome_data.rb', line 134

def outcome_download_url
  @outcome_download_url
end

#outcome_lti_launch_urlObject

Returns the value of attribute outcome_lti_launch_url.



134
135
136
# File 'lib/ajims/lti/extensions/outcome_data.rb', line 134

def outcome_lti_launch_url
  @outcome_lti_launch_url
end

#outcome_textObject

Returns the value of attribute outcome_text.



134
135
136
# File 'lib/ajims/lti/extensions/outcome_data.rb', line 134

def outcome_text
  @outcome_text
end

#outcome_urlObject

Returns the value of attribute outcome_url.



134
135
136
# File 'lib/ajims/lti/extensions/outcome_data.rb', line 134

def outcome_url
  @outcome_url
end

Instance Method Details

#extention_process_xml(doc) ⇒ Object



173
174
175
176
177
178
179
180
# File 'lib/ajims/lti/extensions/outcome_data.rb', line 173

def extention_process_xml(doc)
  super
  @outcome_text = doc.get_text("//resultRecord/result/resultData/text")
  @outcome_url = doc.get_text("//resultRecord/result/resultData/url")
  @outcome_lti_launch_url = doc.get_text("//resultRecord/result/resultData/ltiLaunchUrl")
  @outcome_download_url = doc.get_text("//resultRecord/result/resultData/downloadUrl")
  @outcome_document_name = doc.get_text("//resultRecord/result/resultData/documentName")
end

#has_non_score_result_data?Boolean

Returns:

  • (Boolean)


162
163
164
165
166
167
# File 'lib/ajims/lti/extensions/outcome_data.rb', line 162

def has_non_score_result_data?
  !!@outcome_text || !!@outcome_cdata_text ||
    !!@outcome_url ||
    !!@outcome_lti_launch_url ||
    (!!@outcome_download_url && !!@outcome_document_name)
end

#has_result_data?Boolean

Returns:

  • (Boolean)


169
170
171
# File 'lib/ajims/lti/extensions/outcome_data.rb', line 169

def has_result_data?
    has_non_score_result_data? || super
end

#result_values(node) ⇒ Object



143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# File 'lib/ajims/lti/extensions/outcome_data.rb', line 143

def result_values(node)
  super
  if has_non_score_result_data?
    node.resultData do |res_data|
      if @outcome_cdata_text
        res_data.text {
          res_data.cdata! @outcome_cdata_text
        }
      elsif @outcome_text
        res_data.text @outcome_text
      end
      res_data.url @outcome_url if @outcome_url
      res_data.ltiLaunchUrl @outcome_lti_launch_url if @outcome_lti_launch_url
      res_data.downloadUrl @outcome_download_url if @outcome_download_url
      res_data.documentName @outcome_document_name if @outcome_document_name
    end
  end
end