class Wizypay::ApiClient

Attributes

api_endpoint[RW]
api_key[RW]
api_secret[RW]

Public Class Methods

delete(path) click to toggle source
# File lib/wizypay/api_client.rb, line 20
def delete(path)
  execute(path, { method: :delete })
end
execute(path, req_params) click to toggle source
# File lib/wizypay/api_client.rb, line 24
def execute(path, req_params)
  req_params.deep_merge!(
    url: "#{api_endpoint}#{path}",
    headers: { accept: :json }
  )
  req = RestClient::Request.new(req_params)
  req.sign!(api_key, api_secret)
  parse_response req.execute
end
get(path, params = {}) click to toggle source
# File lib/wizypay/api_client.rb, line 16
def get(path, params = {})
  execute(path, { method: :get, headers: { params: params } })
end
post(path, payload = {}) click to toggle source
# File lib/wizypay/api_client.rb, line 8
def post(path, payload = {})
  execute(path, { method: :post, payload: payload })
end
put(path, payload = {}) click to toggle source
# File lib/wizypay/api_client.rb, line 12
def put(path, payload = {})
  execute(path, { method: :put, payload: payload })
end

Private Class Methods

parse_response(response) click to toggle source
# File lib/wizypay/api_client.rb, line 36
def parse_response(response)
  Hash[JSON::parse(response).map { |k,v| [k.to_sym, v] }]
rescue JSON::ParserError
  response
end