Class: TrophyApiClient::LeaderboardsClient
- Inherits:
-
Object
- Object
- TrophyApiClient::LeaderboardsClient
- Defined in:
- lib/trophy_api_client/leaderboards/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#all(include_finished: nil, request_options: nil) ⇒ Array<TrophyApiClient::Leaderboards::LeaderboardsAllResponseItem>
Get all leaderboards for your organization.
-
#get(key:, offset: nil, limit: nil, run: nil, user_id: nil, user_attributes: nil, request_options: nil) ⇒ TrophyApiClient::LeaderboardResponseWithRankings
Get a specific leaderboard by its key.
- #initialize(request_client:) ⇒ TrophyApiClient::LeaderboardsClient constructor
Constructor Details
#initialize(request_client:) ⇒ TrophyApiClient::LeaderboardsClient
16 17 18 |
# File 'lib/trophy_api_client/leaderboards/client.rb', line 16 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ TrophyApiClient::RequestClient (readonly)
12 13 14 |
# File 'lib/trophy_api_client/leaderboards/client.rb', line 12 def request_client @request_client end |
Instance Method Details
#all(include_finished: nil, request_options: nil) ⇒ Array<TrophyApiClient::Leaderboards::LeaderboardsAllResponseItem>
Get all leaderboards for your organization. Finished leaderboards are excluded
by default.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/trophy_api_client/leaderboards/client.rb', line 34 def all(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)}/leaderboards" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json TrophyApiClient::Leaderboards::LeaderboardsAllResponseItem.from_json(json_object: item) end end |
#get(key:, offset: nil, limit: nil, run: nil, user_id: nil, user_attributes: nil, request_options: nil) ⇒ TrophyApiClient::LeaderboardResponseWithRankings
Get a specific leaderboard by its key.
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/trophy_api_client/leaderboards/client.rb', line 88 def get(key:, offset: nil, limit: nil, run: nil, user_id: nil, 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 || {}), "offset": offset, "limit": limit, "run": run, "userId": user_id, "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)}/leaderboards/#{key}" end TrophyApiClient::LeaderboardResponseWithRankings.from_json(json_object: response.body) end |