Class: RailsXapi::Result
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- RailsXapi::Result
- Includes:
- Serializable
- Defined in:
- app/models/rails_xapi/result.rb
Overview
Represents a result containing response, success, and score data.
Constant Summary
Constants included from Serializable
Serializable::LATIN_LETTERS, Serializable::LATIN_LETTERS_REGEX
Instance Attribute Summary collapse
-
#duration_in_seconds ⇒ Object
Returns the value of attribute duration_in_seconds.
Instance Method Summary collapse
- #extensions=(extensions_data) ⇒ Object
- #score ⇒ Object
-
#score=(value) ⇒ Object
Store the score object in the results table for convenience reasons.
Instance Attribute Details
#duration_in_seconds ⇒ Object
Returns the value of attribute duration_in_seconds.
12 13 14 |
# File 'app/models/rails_xapi/result.rb', line 12 def duration_in_seconds @duration_in_seconds end |
Instance Method Details
#extensions=(extensions_data) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'app/models/rails_xapi/result.rb', line 56 def extensions=(extensions_data) unless extensions_data.is_a?(Hash) raise RailsXapi::Errors::XapiError, I18n.t( "rails_xapi.errors.attribute_must_be_a_hash", name: "extensions" ) end extensions_data.each do |iri, data| extensions.build(iri: iri, value: serialized_value(data)) end end |
#score ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'app/models/rails_xapi/result.rb', line 38 def score { scaled: score_scaled, raw: score_raw, min: score_min, max: score_max }.compact end |
#score=(value) ⇒ Object
Store the score object in the results table for convenience reasons.
29 30 31 32 33 34 35 36 |
# File 'app/models/rails_xapi/result.rb', line 29 def score=(value) validate_score(value) self.score_scaled = value[:scaled] self.score_raw = value[:raw] self.score_min = value[:min] self.score_max = value[:max] end |