Class: TrophyApiClient::CreatePointsSystemRequestItem
- Inherits:
-
Object
- Object
- TrophyApiClient::CreatePointsSystemRequestItem
- Defined in:
- lib/trophy_api_client/types/create_points_system_request_item.rb
Overview
A points system to create. Optionally include sub-entities.
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#badge ⇒ TrophyApiClient::CreatePointsSystemRequestItemBadge
readonly
An optional badge for the points system.
-
#boosts ⇒ Array<TrophyApiClient::CreatePointsBoostRequestItem>
readonly
Optional array of boosts to create alongside the system.
-
#description ⇒ String
readonly
A short description of the points system.
-
#key ⇒ String
readonly
The points system key.
-
#levels ⇒ Array<TrophyApiClient::CreatePointsLevelRequestItem>
readonly
Optional array of levels to create alongside the system.
-
#max_points ⇒ Integer
readonly
Optional maximum points a user can earn.
-
#name ⇒ String
readonly
The points system name.
-
#triggers ⇒ Array<TrophyApiClient::CreatePointsTriggerRequestItem>
readonly
Optional array of triggers to create alongside the system.
Class Method Summary collapse
-
.from_json(json_object:) ⇒ TrophyApiClient::CreatePointsSystemRequestItem
Deserialize a JSON object to an instance of CreatePointsSystemRequestItem.
-
.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(name:, key:, description: OMIT, badge: OMIT, max_points: OMIT, levels: OMIT, boosts: OMIT, triggers: OMIT, additional_properties: nil) ⇒ TrophyApiClient::CreatePointsSystemRequestItem constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of CreatePointsSystemRequestItem to a JSON object.
Constructor Details
#initialize(name:, key:, description: OMIT, badge: OMIT, max_points: OMIT, levels: OMIT, boosts: OMIT, triggers: OMIT, additional_properties: nil) ⇒ TrophyApiClient::CreatePointsSystemRequestItem
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 49 def initialize(name:, key:, description: OMIT, badge: OMIT, max_points: OMIT, levels: OMIT, boosts: OMIT, triggers: OMIT, additional_properties: nil) @name = name @key = key @description = description if description != OMIT @badge = badge if badge != OMIT @max_points = max_points if max_points != OMIT @levels = levels if levels != OMIT @boosts = boosts if boosts != OMIT @triggers = triggers if triggers != OMIT @additional_properties = additional_properties @_field_set = { "name": name, "key": key, "description": description, "badge": badge, "maxPoints": max_points, "levels": levels, "boosts": boosts, "triggers": triggers }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
31 32 33 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 31 def additional_properties @additional_properties end |
#badge ⇒ TrophyApiClient::CreatePointsSystemRequestItemBadge (readonly)
Returns An optional badge for the points system.
21 22 23 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 21 def badge @badge end |
#boosts ⇒ Array<TrophyApiClient::CreatePointsBoostRequestItem> (readonly)
Returns Optional array of boosts to create alongside the system.
27 28 29 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 27 def boosts @boosts end |
#description ⇒ String (readonly)
Returns A short description of the points system.
19 20 21 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 19 def description @description end |
#key ⇒ String (readonly)
Returns The points system key. Only alphanumeric characters, hyphens, and underscores are permitted.
17 18 19 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 17 def key @key end |
#levels ⇒ Array<TrophyApiClient::CreatePointsLevelRequestItem> (readonly)
Returns Optional array of levels to create alongside the system.
25 26 27 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 25 def levels @levels end |
#max_points ⇒ Integer (readonly)
Returns Optional maximum points a user can earn.
23 24 25 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 23 def max_points @max_points end |
#name ⇒ String (readonly)
Returns The points system name.
14 15 16 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 14 def name @name end |
#triggers ⇒ Array<TrophyApiClient::CreatePointsTriggerRequestItem> (readonly)
Returns Optional array of triggers to create alongside the system.
29 30 31 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 29 def triggers @triggers end |
Class Method Details
.from_json(json_object:) ⇒ TrophyApiClient::CreatePointsSystemRequestItem
Deserialize a JSON object to an instance of CreatePointsSystemRequestItem
78 79 80 81 82 83 84 85 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 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 78 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) name = parsed_json["name"] key = parsed_json["key"] description = parsed_json["description"] if parsed_json["badge"].nil? badge = nil else badge = parsed_json["badge"].to_json badge = TrophyApiClient::CreatePointsSystemRequestItemBadge.from_json(json_object: badge) end max_points = parsed_json["maxPoints"] levels = parsed_json["levels"]&.map do |item| item = item.to_json TrophyApiClient::CreatePointsLevelRequestItem.from_json(json_object: item) end boosts = parsed_json["boosts"]&.map do |item| item = item.to_json TrophyApiClient::CreatePointsBoostRequestItem.from_json(json_object: item) end triggers = parsed_json["triggers"]&.map do |item| item = item.to_json TrophyApiClient::CreatePointsTriggerRequestItem.from_json(json_object: item) end new( name: name, key: key, description: description, badge: badge, max_points: max_points, levels: levels, boosts: boosts, triggers: triggers, 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.
129 130 131 132 133 134 135 136 137 138 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 129 def self.validate_raw(obj:) obj.name.is_a?(String) != false || raise("Passed value for field obj.name 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.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.") obj.badge.nil? || TrophyApiClient::CreatePointsSystemRequestItemBadge.validate_raw(obj: obj.badge) obj.max_points&.is_a?(Integer) != false || raise("Passed value for field obj.max_points is not the expected type, validation failed.") obj.levels&.is_a?(Array) != false || raise("Passed value for field obj.levels is not the expected type, validation failed.") obj.boosts&.is_a?(Array) != false || raise("Passed value for field obj.boosts is not the expected type, validation failed.") obj.triggers&.is_a?(Array) != false || raise("Passed value for field obj.triggers is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of CreatePointsSystemRequestItem to a JSON object
119 120 121 |
# File 'lib/trophy_api_client/types/create_points_system_request_item.rb', line 119 def to_json(*_args) @_field_set&.to_json end |