module Payoneer::Api::Core::ClassMethods

Public Instance Methods

config() click to toggle source
# File lib/payoneer/api/core.rb, line 57
def config
  ::Payoneer.config
end
default_params() click to toggle source
# File lib/payoneer/api/core.rb, line 61
def default_params
  {
    p1: config.partner_username,
    p2: config.partner_api_password,
    p3: config.partner_id,
  }
end
get_method_name() click to toggle source
# File lib/payoneer/api/core.rb, line 8
def get_method_name
  self.name.split('::').last
end
request(params = {}) click to toggle source
# File lib/payoneer/api/core.rb, line 21
def request(params = {})
  params = to_api_params(params)
  method_name = get_method_name
  config.validate!

  request_params = default_params.merge(mname: method_name).merge(params)

  request = Request.new(config)
  response = request.execute(request_params)

  fail Errors::ApiError.new(response.code, response.body) unless response.code == 200

  to_response(response)
end
to_api_params(params) click to toggle source
# File lib/payoneer/api/core.rb, line 11
def to_api_params(params)
  params
end
to_response(response) click to toggle source
# File lib/payoneer/api/core.rb, line 14
def to_response(response)
  hash_response = Hash.from_xml(response.body)
  content_name = hash_response.keys.first
  inner_content = hash_response.values.first
  ::Payoneer::Response.new content_name, inner_content
end