class Cryptopay::Request
Constants
- CONTENT_TYPE
- DEFAULT_HEADERS
Attributes
body[R]
content_type[R]
date[R]
headers[R]
method[R]
path[R]
Public Class Methods
new(method:, path:, query_params: {}, body_params: {})
click to toggle source
# File lib/cryptopay/request.rb, line 14 def initialize(method:, path:, query_params: {}, body_params: {}) @method = method @path = prepare_query(path, query_params) @body = prepare_body(body_params.to_hash) @date = Time.now.httpdate @content_type = CONTENT_TYPE @headers = DEFAULT_HEADERS.merge(Date: date, 'Content-Type': @content_type) end
Public Instance Methods
add_header(key, value)
click to toggle source
# File lib/cryptopay/request.rb, line 23 def add_header(key, value) @headers = headers.merge(key => value) end
Private Instance Methods
encode_query(params)
click to toggle source
# File lib/cryptopay/request.rb, line 42 def encode_query(params) Faraday::NestedParamsEncoder.encode(params) end
prepare_body(params)
click to toggle source
# File lib/cryptopay/request.rb, line 36 def prepare_body(params) return if params.empty? params.to_json end
prepare_query(path, params)
click to toggle source
# File lib/cryptopay/request.rb, line 29 def prepare_query(path, params) return path if params.empty? query = encode_query(params) [path, query].join('?') end