Class: TrophyApiClient::AdminPointsTrigger
- Inherits:
-
Object
- Object
- TrophyApiClient::AdminPointsTrigger
- Defined in:
- lib/trophy_api_client/types/admin_points_trigger.rb
Overview
A points trigger as returned from admin endpoints.
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#achievement_id ⇒ String
readonly
The UUID of the achievement.
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#block_if_out_of_points ⇒ Boolean
readonly
Whether metric events that would reduce the user’s points below zero are blocked.
-
#event_attributes ⇒ Array<TrophyApiClient::AdminPointsTriggerEventAttributesItem>
readonly
Event attribute filters applied to the trigger.
-
#id ⇒ String
readonly
The UUID of the trigger.
-
#metric_id ⇒ String
readonly
The UUID of the metric.
-
#metric_threshold ⇒ Integer
readonly
The metric threshold.
-
#points ⇒ Integer
readonly
The number of points awarded or deducted when the trigger fires.
-
#status ⇒ TrophyApiClient::AdminPointsTriggerStatus
readonly
The status of the trigger.
-
#streak_length ⇒ Integer
readonly
The streak length.
-
#time_interval ⇒ Integer
readonly
The time interval.
-
#time_unit ⇒ TrophyApiClient::AdminPointsTriggerTimeUnit
readonly
The time unit.
-
#type ⇒ TrophyApiClient::AdminPointsTriggerType
readonly
The type of trigger.
-
#user_attributes ⇒ Array<TrophyApiClient::AdminPointsTriggerUserAttributesItem>
readonly
User attribute filters applied to the trigger.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ TrophyApiClient::AdminPointsTrigger
Deserialize a JSON object to an instance of AdminPointsTrigger.
-
.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(id:, type:, points:, status:, user_attributes:, block_if_out_of_points:, metric_id: OMIT, metric_threshold: OMIT, event_attributes: OMIT, achievement_id: OMIT, streak_length: OMIT, time_unit: OMIT, time_interval: OMIT, additional_properties: nil) ⇒ TrophyApiClient::AdminPointsTrigger constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of AdminPointsTrigger to a JSON object.
Constructor Details
#initialize(id:, type:, points:, status:, user_attributes:, block_if_out_of_points:, metric_id: OMIT, metric_threshold: OMIT, event_attributes: OMIT, achievement_id: OMIT, streak_length: OMIT, time_unit: OMIT, time_interval: OMIT, additional_properties: nil) ⇒ TrophyApiClient::AdminPointsTrigger
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 67 def initialize(id:, type:, points:, status:, user_attributes:, block_if_out_of_points:, metric_id: OMIT, metric_threshold: OMIT, event_attributes: OMIT, achievement_id: OMIT, streak_length: OMIT, time_unit: OMIT, time_interval: OMIT, additional_properties: nil) @id = id @type = type @points = points @status = status @user_attributes = user_attributes @metric_id = metric_id if metric_id != OMIT @metric_threshold = metric_threshold if metric_threshold != OMIT @event_attributes = event_attributes if event_attributes != OMIT @achievement_id = achievement_id if achievement_id != OMIT @streak_length = streak_length if streak_length != OMIT @time_unit = time_unit if time_unit != OMIT @time_interval = time_interval if time_interval != OMIT @block_if_out_of_points = block_if_out_of_points @additional_properties = additional_properties @_field_set = { "id": id, "type": type, "points": points, "status": status, "userAttributes": user_attributes, "metricId": metric_id, "metricThreshold": metric_threshold, "eventAttributes": event_attributes, "achievementId": achievement_id, "streakLength": streak_length, "timeUnit": time_unit, "timeInterval": time_interval, "blockIfOutOfPoints": block_if_out_of_points }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#achievement_id ⇒ String (readonly)
Returns The UUID of the achievement. Only present for achievement triggers.
32 33 34 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 32 def achievement_id @achievement_id end |
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
43 44 45 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 43 def additional_properties @additional_properties end |
#block_if_out_of_points ⇒ Boolean (readonly)
Returns Whether metric events that would reduce the user’s points below zero are blocked.
41 42 43 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 41 def block_if_out_of_points @block_if_out_of_points end |
#event_attributes ⇒ Array<TrophyApiClient::AdminPointsTriggerEventAttributesItem> (readonly)
Returns Event attribute filters applied to the trigger. Only present for metric triggers.
30 31 32 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 30 def event_attributes @event_attributes end |
#id ⇒ String (readonly)
Returns The UUID of the trigger.
15 16 17 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 15 def id @id end |
#metric_id ⇒ String (readonly)
Returns The UUID of the metric. Only present for metric triggers.
25 26 27 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 25 def metric_id @metric_id end |
#metric_threshold ⇒ Integer (readonly)
Returns The metric threshold. Only present for metric triggers.
27 28 29 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 27 def metric_threshold @metric_threshold end |
#points ⇒ Integer (readonly)
Returns The number of points awarded or deducted when the trigger fires.
19 20 21 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 19 def points @points end |
#status ⇒ TrophyApiClient::AdminPointsTriggerStatus (readonly)
Returns The status of the trigger.
21 22 23 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 21 def status @status end |
#streak_length ⇒ Integer (readonly)
Returns The streak length. Only present for streak triggers.
34 35 36 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 34 def streak_length @streak_length end |
#time_interval ⇒ Integer (readonly)
Returns The time interval. Only present for time triggers.
38 39 40 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 38 def time_interval @time_interval end |
#time_unit ⇒ TrophyApiClient::AdminPointsTriggerTimeUnit (readonly)
Returns The time unit. Only present for time triggers.
36 37 38 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 36 def time_unit @time_unit end |
#type ⇒ TrophyApiClient::AdminPointsTriggerType (readonly)
Returns The type of trigger.
17 18 19 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 17 def type @type end |
#user_attributes ⇒ Array<TrophyApiClient::AdminPointsTriggerUserAttributesItem> (readonly)
Returns User attribute filters applied to the trigger.
23 24 25 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 23 def user_attributes @user_attributes end |
Class Method Details
.from_json(json_object:) ⇒ TrophyApiClient::AdminPointsTrigger
Deserialize a JSON object to an instance of AdminPointsTrigger
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 106 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) id = parsed_json["id"] type = parsed_json["type"] points = parsed_json["points"] status = parsed_json["status"] user_attributes = parsed_json["userAttributes"]&.map do |item| item = item.to_json TrophyApiClient::AdminPointsTriggerUserAttributesItem.from_json(json_object: item) end metric_id = parsed_json["metricId"] metric_threshold = parsed_json["metricThreshold"] event_attributes = parsed_json["eventAttributes"]&.map do |item| item = item.to_json TrophyApiClient::AdminPointsTriggerEventAttributesItem.from_json(json_object: item) end achievement_id = parsed_json["achievementId"] streak_length = parsed_json["streakLength"] time_unit = parsed_json["timeUnit"] time_interval = parsed_json["timeInterval"] block_if_out_of_points = parsed_json["blockIfOutOfPoints"] new( id: id, type: type, points: points, status: status, user_attributes: user_attributes, metric_id: metric_id, metric_threshold: metric_threshold, event_attributes: event_attributes, achievement_id: achievement_id, streak_length: streak_length, time_unit: time_unit, time_interval: time_interval, block_if_out_of_points: block_if_out_of_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.
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 159 def self.validate_raw(obj:) obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.") obj.type.is_a?(TrophyApiClient::AdminPointsTriggerType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.") obj.points.is_a?(Integer) != false || raise("Passed value for field obj.points is not the expected type, validation failed.") obj.status.is_a?(TrophyApiClient::AdminPointsTriggerStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.") obj.user_attributes.is_a?(Array) != false || raise("Passed value for field obj.user_attributes is not the expected type, validation failed.") obj.metric_id&.is_a?(String) != false || raise("Passed value for field obj.metric_id is not the expected type, validation failed.") obj.metric_threshold&.is_a?(Integer) != false || raise("Passed value for field obj.metric_threshold is not the expected type, validation failed.") obj.event_attributes&.is_a?(Array) != false || raise("Passed value for field obj.event_attributes is not the expected type, validation failed.") obj.achievement_id&.is_a?(String) != false || raise("Passed value for field obj.achievement_id is not the expected type, validation failed.") obj.streak_length&.is_a?(Integer) != false || raise("Passed value for field obj.streak_length is not the expected type, validation failed.") obj.time_unit&.is_a?(TrophyApiClient::AdminPointsTriggerTimeUnit) != false || raise("Passed value for field obj.time_unit is not the expected type, validation failed.") obj.time_interval&.is_a?(Integer) != false || raise("Passed value for field obj.time_interval is not the expected type, validation failed.") obj.block_if_out_of_points.is_a?(Boolean) != false || raise("Passed value for field obj.block_if_out_of_points is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of AdminPointsTrigger to a JSON object
149 150 151 |
# File 'lib/trophy_api_client/types/admin_points_trigger.rb', line 149 def to_json(*_args) @_field_set&.to_json end |