Module: Payoneer

Defined in:
lib/payoneer.rb,
lib/payoneer/payee.rb,
lib/payoneer/payout.rb,
lib/payoneer/system.rb,
lib/payoneer/version.rb,
lib/payoneer/response.rb,
lib/payoneer/configuration.rb,
lib/payoneer/errors/configuration_error.rb,
lib/payoneer/errors/unexpected_response_error.rb

Defined Under Namespace

Modules: Errors Classes: Configuration, Payee, Payout, Response, System

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.configurationObject



42
43
44
# File 'lib/payoneer.rb', line 42

def self.configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



24
25
26
# File 'lib/payoneer.rb', line 24

def self.configure
  yield(configuration)
end

.default_paramsObject



46
47
48
49
50
51
52
# File 'lib/payoneer.rb', line 46

def self.default_params
  {
    p1: configuration.partner_username,
    p2: configuration.partner_api_password,
    p3: configuration.partner_id,
  }
end

.make_api_request(method_name, params = {}) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/payoneer.rb', line 28

def self.make_api_request(method_name, params = {})
  configuration.validate!

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

  response = RestClient.post(configuration.api_url, request_params)

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

  hash_response = Hash.from_xml(response.body)
  inner_content = hash_response.values.first
  inner_content
end