class PinPays::Api
Constants
- LIVE_URI
- TEST_URI
Public Class Methods
setup(config)
click to toggle source
# File lib/pin_pays/api.rb, line 10 def setup(config) base_uri(config.mode == :live ? LIVE_URI : TEST_URI) @@auth = { username: config.key, password: '' } end
Protected Class Methods
api_get(path, query = nil)
click to toggle source
# File lib/pin_pays/api.rb, line 17 def api_get(path, query = nil) get(path, query: query, basic_auth: @@auth) end
api_paginated_response(response)
click to toggle source
# File lib/pin_pays/api.rb, line 34 def api_paginated_response(response) raise ApiError.new(response.code, sybolize_keys(response.parsed_response)) unless response.code == 200 || response.code == 201 { items: symbolize_keys(response.parsed_response['response']), pages: symbolize_keys(response.parsed_response['pagination']) } end
api_post(path, body = nil)
click to toggle source
# File lib/pin_pays/api.rb, line 21 def api_post(path, body = nil) post(path, body: body, basic_auth: @@auth) end
api_put(path, body = nil)
click to toggle source
# File lib/pin_pays/api.rb, line 25 def api_put(path, body = nil) put(path, body: body, basic_auth: @@auth) end
api_response(response)
click to toggle source
# File lib/pin_pays/api.rb, line 29 def api_response(response) raise ApiError.new(response.code, symbolize_keys(response.parsed_response)) unless response.code == 200 || response.code == 201 symbolize_keys(response.parsed_response['response']) end
symbolize_keys(o)
click to toggle source
# File lib/pin_pays/api.rb, line 39 def symbolize_keys(o) return o.reduce({}) {|memo, (k, v)| memo.tap { |m| m[k.to_sym] = symbolize_keys(v) }} if o.is_a?(Hash) return o.reduce([]) {|memo, v| memo << symbolize_keys(v); memo } if o.is_a?(Array) o end