Class: TrophyApiClient::MetricEventPointsResponse
- Inherits:
-
Object
- Object
- TrophyApiClient::MetricEventPointsResponse
- Defined in:
- lib/trophy_api_client/types/metric_event_points_response.rb
Overview
Points system response for metric events and achievement completions.
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#added ⇒ Integer
readonly
The points added by this event.
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#awards ⇒ Array<TrophyApiClient::PointsAward>
readonly
Array of trigger awards that added points.
-
#badge_url ⇒ String
readonly
The URL of the badge image for the points system.
-
#description ⇒ String
readonly
The description of the points system.
-
#id ⇒ String
readonly
The ID of the points system.
-
#key ⇒ String
readonly
The key of the points system.
-
#level ⇒ TrophyApiClient::PointsLevel
readonly
The user’s new level, included only when the level changed as a result of this event.
-
#max_points ⇒ Float
readonly
The maximum number of points a user can be awarded in this points system.
-
#name ⇒ String
readonly
The name of the points system.
-
#total ⇒ Integer
readonly
The user’s total points.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ TrophyApiClient::MetricEventPointsResponse
Deserialize a JSON object to an instance of MetricEventPointsResponse.
-
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object’s property definitions.
Instance Method Summary collapse
- #initialize(total:, added:, awards:, id:, key:, name:, level: OMIT, description: OMIT, badge_url: OMIT, max_points: OMIT, additional_properties: nil) ⇒ TrophyApiClient::MetricEventPointsResponse constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of MetricEventPointsResponse to a JSON object.
Constructor Details
#initialize(total:, added:, awards:, id:, key:, name:, level: OMIT, description: OMIT, badge_url: OMIT, max_points: OMIT, additional_properties: nil) ⇒ TrophyApiClient::MetricEventPointsResponse
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 53 def initialize(total:, added:, awards:, id:, key:, name:, level: OMIT, description: OMIT, badge_url: OMIT, max_points: OMIT, additional_properties: nil) @total = total @level = level if level != OMIT @added = added @awards = awards @id = id @key = key @name = name @description = description if description != OMIT @badge_url = badge_url if badge_url != OMIT @max_points = max_points if max_points != OMIT @additional_properties = additional_properties @_field_set = { "total": total, "level": level, "added": added, "awards": awards, "id": id, "key": key, "name": name, "description": description, "badgeUrl": badge_url, "maxPoints": max_points }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#added ⇒ Integer (readonly)
Returns The points added by this event.
17 18 19 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 17 def added @added end |
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
33 34 35 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 33 def additional_properties @additional_properties end |
#awards ⇒ Array<TrophyApiClient::PointsAward> (readonly)
Returns Array of trigger awards that added points.
19 20 21 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 19 def awards @awards end |
#badge_url ⇒ String (readonly)
Returns The URL of the badge image for the points system.
29 30 31 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 29 def badge_url @badge_url end |
#description ⇒ String (readonly)
Returns The description of the points system.
27 28 29 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 27 def description @description end |
#id ⇒ String (readonly)
Returns The ID of the points system.
21 22 23 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 21 def id @id end |
#key ⇒ String (readonly)
Returns The key of the points system.
23 24 25 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 23 def key @key end |
#level ⇒ TrophyApiClient::PointsLevel (readonly)
Returns The user’s new level, included only when the level changed as a result of this event.
15 16 17 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 15 def level @level end |
#max_points ⇒ Float (readonly)
Returns The maximum number of points a user can be awarded in this points system.
31 32 33 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 31 def max_points @max_points end |
#name ⇒ String (readonly)
Returns The name of the points system.
25 26 27 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 25 def name @name end |
#total ⇒ Integer (readonly)
Returns The user’s total points.
12 13 14 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 12 def total @total end |
Class Method Details
.from_json(json_object:) ⇒ TrophyApiClient::MetricEventPointsResponse
Deserialize a JSON object to an instance of MetricEventPointsResponse
86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 86 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) total = parsed_json["total"] if parsed_json["level"].nil? level = nil else level = parsed_json["level"].to_json level = TrophyApiClient::PointsLevel.from_json(json_object: level) end added = parsed_json["added"] awards = parsed_json["awards"]&.map do |item| item = item.to_json TrophyApiClient::PointsAward.from_json(json_object: item) end id = parsed_json["id"] key = parsed_json["key"] name = parsed_json["name"] description = parsed_json["description"] badge_url = parsed_json["badgeUrl"] max_points = parsed_json["maxPoints"] new( total: total, level: level, added: added, awards: awards, id: id, key: key, name: name, description: description, badge_url: badge_url, max_points: max_points, additional_properties: struct ) end |
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given
hash and check each fields type against the current object's property
definitions.
135 136 137 138 139 140 141 142 143 144 145 146 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 135 def self.validate_raw(obj:) obj.total.is_a?(Integer) != false || raise("Passed value for field obj.total is not the expected type, validation failed.") obj.level.nil? || TrophyApiClient::PointsLevel.validate_raw(obj: obj.level) obj.added.is_a?(Integer) != false || raise("Passed value for field obj.added is not the expected type, validation failed.") obj.awards.is_a?(Array) != false || raise("Passed value for field obj.awards is not the expected type, validation failed.") obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.") obj.key.is_a?(String) != false || raise("Passed value for field obj.key is not the expected type, validation failed.") obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.") obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.") obj.badge_url&.is_a?(String) != false || raise("Passed value for field obj.badge_url is not the expected type, validation failed.") obj.max_points&.is_a?(Float) != false || raise("Passed value for field obj.max_points is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of MetricEventPointsResponse to a JSON object
125 126 127 |
# File 'lib/trophy_api_client/types/metric_event_points_response.rb', line 125 def to_json(*_args) @_field_set&.to_json end |