Class: TrophyApiClient::AsyncStreaksClient
- Inherits:
-
Object
- Object
- TrophyApiClient::AsyncStreaksClient
- Defined in:
- lib/trophy_api_client/streaks/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
- #initialize(request_client:) ⇒ TrophyApiClient::AsyncStreaksClient constructor
-
#list(user_ids: nil, request_options: nil) ⇒ TrophyApiClient::BULK_STREAK_RESPONSE
Get the streak lengths of a list of users, ranked by streak length from longest to shortest.
Constructor Details
#initialize(request_client:) ⇒ TrophyApiClient::AsyncStreaksClient
62 63 64 |
# File 'lib/trophy_api_client/streaks/client.rb', line 62 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ TrophyApiClient::AsyncRequestClient (readonly)
58 59 60 |
# File 'lib/trophy_api_client/streaks/client.rb', line 58 def request_client @request_client end |
Instance Method Details
#list(user_ids: nil, request_options: nil) ⇒ TrophyApiClient::BULK_STREAK_RESPONSE
Get the streak lengths of a list of users, ranked by streak length from longest
to shortest.
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/trophy_api_client/streaks/client.rb', line 79 def list(user_ids: nil, request_options: nil) Async do 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["Tenant-ID"] = .tenant_id unless &.tenant_id.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.params = { **(&.additional_query_parameters || {}), "userIds": user_ids }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(environment: api, request_options: )}/streaks" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json TrophyApiClient::BulkStreakResponseItem.from_json(json_object: item) end end end |