Class: TrophyApiClient::PointsClient
- Inherits:
-
Object
- Object
- TrophyApiClient::PointsClient
- Defined in:
- lib/trophy_api_client/points/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#boosts(key:, include_finished: nil, request_options: nil) ⇒ Array<TrophyApiClient::PointsBoost>
Get all global boosts for a points system.
- #initialize(request_client:) ⇒ TrophyApiClient::PointsClient constructor
-
#summary(key:, user_attributes: nil, request_options: nil) ⇒ TrophyApiClient::POINTS_SUMMARY_RESPONSE
Get a breakdown of the number of users with points in each range.
-
#system(key:, request_options: nil) ⇒ TrophyApiClient::PointsSystemResponse
Get a points system with its triggers.
Constructor Details
#initialize(request_client:) ⇒ TrophyApiClient::PointsClient
17 18 19 |
# File 'lib/trophy_api_client/points/client.rb', line 17 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ TrophyApiClient::RequestClient (readonly)
13 14 15 |
# File 'lib/trophy_api_client/points/client.rb', line 13 def request_client @request_client end |
Instance Method Details
#boosts(key:, include_finished: nil, request_options: nil) ⇒ Array<TrophyApiClient::PointsBoost>
Get all global boosts for a points system. Finished boosts are excluded by
default.
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/trophy_api_client/points/client.rb', line 108 def boosts(key:, include_finished: nil, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["X-API-KEY"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.params = { **(&.additional_query_parameters || {}), "includeFinished": include_finished }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/points/#{key}/boosts" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json TrophyApiClient::PointsBoost.from_json(json_object: item) end end |
#summary(key:, user_attributes: nil, request_options: nil) ⇒ TrophyApiClient::POINTS_SUMMARY_RESPONSE
Get a breakdown of the number of users with points in each range.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/trophy_api_client/points/client.rb', line 36 def summary(key:, user_attributes: nil, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["X-API-KEY"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.params = { **(&.additional_query_parameters || {}), "userAttributes": user_attributes }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/points/#{key}/summary" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json TrophyApiClient::PointsRange.from_json(json_object: item) end end |
#system(key:, request_options: nil) ⇒ TrophyApiClient::PointsSystemResponse
Get a points system with its triggers.
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/trophy_api_client/points/client.rb', line 73 def system(key:, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["X-API-KEY"] = .api_key unless &.api_key.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(environment: api, request_options: request_options)}/points/#{key}" end TrophyApiClient::PointsSystemResponse.from_json(json_object: response.body) end |