Class: TrophyApiClient::AsyncUsersClient
- Inherits:
-
Object
- Object
- TrophyApiClient::AsyncUsersClient
- Defined in:
- lib/trophy_api_client/users/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#allachievements(user_id:, request_options: nil) ⇒ Array<TrophyApiClient::AchievementResponse>
Get all of a user’s completed achievements.
-
#allmetrics(user_id:, request_options: nil) ⇒ Array<TrophyApiClient::MetricResponse>
Get a single user’s progress against all active metrics.
- #initialize(request_client:) ⇒ TrophyApiClient::AsyncUsersClient constructor
-
#singlemetric(user_id:, key:, request_options: nil) ⇒ TrophyApiClient::MetricResponse
Get a user’s progress against a single active metric.
Constructor Details
#initialize(request_client:) ⇒ TrophyApiClient::AsyncUsersClient
132 133 134 |
# File 'lib/trophy_api_client/users/client.rb', line 132 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ TrophyApiClient::AsyncRequestClient (readonly)
128 129 130 |
# File 'lib/trophy_api_client/users/client.rb', line 128 def request_client @request_client end |
Instance Method Details
#allachievements(user_id:, request_options: nil) ⇒ Array<TrophyApiClient::AchievementResponse>
Get all of a user’s completed achievements.
221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |
# File 'lib/trophy_api_client/users/client.rb', line 221 def allachievements(user_id:, 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 = { **(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(request_options: )}/users/#{user_id}/achievements" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json TrophyApiClient::AchievementResponse.from_json(json_object: item) end end end |
#allmetrics(user_id:, request_options: nil) ⇒ Array<TrophyApiClient::MetricResponse>
Get a single user’s progress against all active metrics.
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/trophy_api_client/users/client.rb', line 148 def allmetrics(user_id:, 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 = { **(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(request_options: )}/users/#{user_id}/metrics" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json TrophyApiClient::MetricResponse.from_json(json_object: item) end end end |
#singlemetric(user_id:, key:, request_options: nil) ⇒ TrophyApiClient::MetricResponse
Get a user’s progress against a single active metric.
187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
# File 'lib/trophy_api_client/users/client.rb', line 187 def singlemetric(user_id:, key:, 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 = { **(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(request_options: )}/users/#{user_id}/metrics/#{key}" end TrophyApiClient::MetricResponse.from_json(json_object: response.body) end end |