class CoinbaseCommerce::CoinbaseCommerceResponse
Attributes
data[RW]
http_body[RW]
http_headers[RW]
http_status[RW]
request_id[RW]
Public Class Methods
from_faraday_hash(http_resp)
click to toggle source
Initializes a CoinbaseCommerceResponse
object from a Hash like the kind returned as part of a Faraday exception.
# File lib/coinbase_commerce/api_response.rb, line 15 def self.from_faraday_hash(http_resp) resp = CoinbaseCommerceResponse.new resp.data = JSON.parse(http_resp[:body], symbolize_names: true) resp.http_body = http_resp[:body] resp.http_headers = http_resp[:headers] resp.http_status = http_resp[:status] resp.request_id = http_resp[:headers]["x-request-id"] resp end
from_faraday_response(http_resp)
click to toggle source
Initializes a CoinbaseCommerceResponse
object from a Faraday HTTP response object.
# File lib/coinbase_commerce/api_response.rb, line 27 def self.from_faraday_response(http_resp) resp = CoinbaseCommerceResponse.new resp.data = JSON.parse(http_resp.body, symbolize_names: true) resp.http_body = http_resp.body resp.http_headers = http_resp.headers resp.http_status = http_resp.status resp.request_id = http_resp.headers["x-request-id"] # unpack nested data field if it exist if resp.data.is_a? Hash and resp.data.fetch(:data, nil).is_a? Hash resp.data.update(resp.data.delete(:data)) end # warn in there warnings in response if resp.data.is_a? Hash and resp.data.fetch(:warnings, nil).is_a? Array warn(resp.data[:warnings].first.to_s) end resp end