class MyApiClient::Params::Params
Description of Params
Attributes
request[R]
response[R]
Public Class Methods
new(request, response)
click to toggle source
Description of initialize
@param request [MyApiClient::Params::Request] describe_request_here @param response [Sawyer::Response, nil] describe_response_here
# File lib/my_api_client/params/params.rb, line 13 def initialize(request, response) @request = request @response = response end
Public Instance Methods
inspect()
click to toggle source
Returns contents as string for to be readable for human
@return [String] Contents as string
# File lib/my_api_client/params/params.rb, line 31 def inspect { request: request, response: response }.inspect end
metadata()
click to toggle source
Generate metadata for bugsnag. It will integrate request and response params. Blank parameter will be omitted.
@return [Hash] Metadata for bugsnag
# File lib/my_api_client/params/params.rb, line 23 def metadata request_metadata.merge(response_metadata) end
Also aliased as: to_bugsnag
Private Instance Methods
request_metadata()
click to toggle source
Generate metadata from request params. It will be added prefix “request_”.
@return [Hash] Metadata for bugsnag
# File lib/my_api_client/params/params.rb, line 41 def request_metadata if request.present? request.metadata.transform_keys { |key| :"request_#{key}" } else {} end end
response_metadata()
click to toggle source
Generate metadata from response params. It will be added prefix “response_”.
@return [Hash] Metadata for bugsnag
# File lib/my_api_client/params/params.rb, line 53 def response_metadata if response.present? data = response.data body = data.respond_to?(:to_h) ? data.to_h : data { response_status: response.status, response_headers: response.headers, response_body: body, duration: response.timing, }.compact else {} end end