Module: IMS::LTI::Extensions::OutcomeData::OutcomeRequest

Includes:
ExtensionBase, Base
Defined in:
lib/ims/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

#needs_additional_reviewObject

Returns the value of attribute needs_additional_review.



174
175
176
# File 'lib/ims/lti/extensions/outcome_data.rb', line 174

def needs_additional_review
  @needs_additional_review
end

#outcome_cdata_textObject

Returns the value of attribute outcome_cdata_text.



174
175
176
# File 'lib/ims/lti/extensions/outcome_data.rb', line 174

def outcome_cdata_text
  @outcome_cdata_text
end

#outcome_lti_launch_urlObject

Returns the value of attribute outcome_lti_launch_url.



174
175
176
# File 'lib/ims/lti/extensions/outcome_data.rb', line 174

def outcome_lti_launch_url
  @outcome_lti_launch_url
end

#outcome_textObject

Returns the value of attribute outcome_text.



174
175
176
# File 'lib/ims/lti/extensions/outcome_data.rb', line 174

def outcome_text
  @outcome_text
end

#outcome_urlObject

Returns the value of attribute outcome_url.



174
175
176
# File 'lib/ims/lti/extensions/outcome_data.rb', line 174

def outcome_url
  @outcome_url
end

#prioritize_non_tool_gradeObject

Returns the value of attribute prioritize_non_tool_grade.



174
175
176
# File 'lib/ims/lti/extensions/outcome_data.rb', line 174

def prioritize_non_tool_grade
  @prioritize_non_tool_grade
end

#submitted_atObject

Returns the value of attribute submitted_at.



174
175
176
# File 'lib/ims/lti/extensions/outcome_data.rb', line 174

def 
  @submitted_at
end

#total_scoreObject

Returns the value of attribute total_score.



174
175
176
# File 'lib/ims/lti/extensions/outcome_data.rb', line 174

def total_score
  @total_score
end

Instance Method Details

#details(node) ⇒ Object



209
210
211
212
213
214
215
216
# File 'lib/ims/lti/extensions/outcome_data.rb', line 209

def details(node)
  super
  return unless has_details_data?

  node.  if 
  node.needsAdditionalReview if needs_additional_review
  node.prioritizeNonToolGrade if prioritize_non_tool_grade
end

#extention_process_xml(doc) ⇒ Object



230
231
232
233
234
235
# File 'lib/ims/lti/extensions/outcome_data.rb', line 230

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")
end

#has_details_data?Boolean



226
227
228
# File 'lib/ims/lti/extensions/outcome_data.rb', line 226

def has_details_data?
  !! || !!needs_additional_review || !!prioritize_non_tool_grade
end

#has_result_data?Boolean



222
223
224
# File 'lib/ims/lti/extensions/outcome_data.rb', line 222

def has_result_data?
  !!outcome_text || !!outcome_url || !!outcome_lti_launch_url || !!outcome_cdata_text || !!total_score || super
end

#result_values(node) ⇒ Object



183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
# File 'lib/ims/lti/extensions/outcome_data.rb', line 183

def result_values(node)
  super

  if total_score
    node.resultTotalScore do |res_total_score|
      res_total_score.language "en" # 'en' represents the format of the number
      res_total_score.textString total_score.to_s
    end
  end

  if outcome_text || outcome_url || outcome_cdata_text || outcome_lti_launch_url
    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
      elsif outcome_lti_launch_url
        res_data.ltiLaunchUrl outcome_lti_launch_url
      end
      res_data.url outcome_url if outcome_url
    end
  end
end

#scoreObject



218
219
220
# File 'lib/ims/lti/extensions/outcome_data.rb', line 218

def score
  total_score ? nil : @score
end