class Payoneer::Configuration::Config

Constants

PRODUCTION_API_URL
SANDBOX_API_URL

Attributes

env[RW]
partner_api_password[RW]
partner_id[RW]
partner_username[RW]
program_id[RW]
proxy[RW]
proxy_index[RW]

Public Class Methods

new(options) click to toggle source
# File lib/payoneer/configuration.rb, line 27
def initialize(options)
  options.each do |key, value|
    send("#{key}=", value)
  end
  self.normalize_proxies
end

Public Instance Methods

api_url() click to toggle source
# File lib/payoneer/configuration.rb, line 47
def api_url
  production? ? PRODUCTION_API_URL : SANDBOX_API_URL
end
normalize_proxies() click to toggle source
# File lib/payoneer/configuration.rb, line 34
def normalize_proxies
  self.proxy = self.proxy ? Array(proxy) : []
  self.proxy_index = 0
end
production?() click to toggle source
# File lib/payoneer/configuration.rb, line 43
def production?
  self.env == 'production'
end
rotate_proxy() click to toggle source
# File lib/payoneer/configuration.rb, line 57
def rotate_proxy
  self.proxy_index = (self.proxy_index + 1) % self.proxy.size
end
setup_proxy_if_set() click to toggle source
# File lib/payoneer/configuration.rb, line 51
def setup_proxy_if_set
  return if self.proxy.size == 0
  # TODO New in 2.0: Specify a per-request proxy https://github.com/rest-client/rest-client#proxy
  RestClient.proxy = self.proxy[self.proxy_index]
end
validate!() click to toggle source
# File lib/payoneer/configuration.rb, line 39
def validate!
  raise ConfigurationError.new unless %w(partner_username partner_api_password partner_id program_id env).all?{|k| self.send(k).present? }
end