Module: Paymill

Defined in:
lib/paymill.rb,
lib/paymill/base.rb,
lib/paymill/offer.rb,
lib/paymill/client.rb,
lib/paymill/refund.rb,
lib/paymill/payment.rb,
lib/paymill/version.rb,
lib/paymill/webhook.rb,
lib/paymill/transaction.rb,
lib/paymill/request/base.rb,
lib/paymill/request/info.rb,
lib/paymill/subscription.rb,
lib/paymill/operations/all.rb,
lib/paymill/operations/find.rb,
lib/paymill/request/helpers.rb,
lib/paymill/preauthorization.rb,
lib/paymill/operations/create.rb,
lib/paymill/operations/delete.rb,
lib/paymill/operations/update.rb,
lib/paymill/request/validator.rb,
lib/paymill/request/connection.rb

Defined Under Namespace

Modules: Operations, Request Classes: APIError, AuthenticationError, Base, Client, Offer, Payment, PaymillError, Preauthorization, Refund, Subscription, Transaction, Webhook

Constant Summary collapse

API_BASE =
"api.paymill.com"
API_VERSION =
"v2"
ROOT_PATH =
File.dirname(__FILE__)
VERSION =
"0.5.1"
@@api_key =
nil
@@api_base =
API_BASE
@@api_version =
API_VERSION
@@api_port =
Net::HTTP.https_default_port
@@development =
false
@@logger =
Logger.new(STDOUT)

Class Method Summary collapse

Class Method Details

.api_baseString

Returns the api base endpoint

Returns:

  • (String)

    The api base endpoint



66
67
68
# File 'lib/paymill.rb', line 66

def self.api_base
  @@api_base
end

.api_base=(api_base) ⇒ Object

Sets the api base endpoint

Parameters:

  • api_base (String)

    The api base endpoint



73
74
75
# File 'lib/paymill.rb', line 73

def self.api_base=(api_base)
  @@api_base = api_base
end

.api_keyString

Returns the api key

Returns:

  • (String)

    The api key



52
53
54
# File 'lib/paymill.rb', line 52

def self.api_key
  @@api_key
end

.api_key=(api_key) ⇒ Object

Sets the api key

Parameters:

  • api_key (String)

    The api key



59
60
61
# File 'lib/paymill.rb', line 59

def self.api_key=(api_key)
  @@api_key = api_key
end

.api_portString

Returns the api port

Returns:

  • (String)

    The api port



94
95
96
# File 'lib/paymill.rb', line 94

def self.api_port
  @@api_port
end

.api_port=(api_port) ⇒ Object

Sets the api port

Parameters:

  • api_port (String)

    The api port



101
102
103
# File 'lib/paymill.rb', line 101

def self.api_port=(api_port)
  @@api_port = api_port
end

.api_versionString

Returns the api version

Returns:

  • (String)

    The api version



80
81
82
# File 'lib/paymill.rb', line 80

def self.api_version
  @@api_version
end

.api_version=(api_version) ⇒ Object

Sets the api version

Parameters:

  • api_version (String)

    The api version



87
88
89
# File 'lib/paymill.rb', line 87

def self.api_version=(api_version)
  @@api_version = api_version
end

.development=(development) ⇒ Object

Sets the development mode

Parameters:

  • development (Boolean)

    Development mode on or not



115
116
117
# File 'lib/paymill.rb', line 115

def self.development=(development)
  @@development = development
end

.development?Boolean

Returns true if the development mode is on

Returns:

  • (Boolean)

    Development mode on or not



108
109
110
# File 'lib/paymill.rb', line 108

def self.development?
  @@development
end

.loggerLogger

Returns the current logger

Returns:

  • (Logger)

    The current logger



122
123
124
# File 'lib/paymill.rb', line 122

def self.logger
  @@logger
end

.logger=(logger) ⇒ Object

Sets the logger for Paymill

Parameters:

  • logger (Logger)

    The logger instance to be used



129
130
131
# File 'lib/paymill.rb', line 129

def self.logger=(logger)
  @@logger = logger
end

.request(http_method, api_url, data) ⇒ Array

Makes a request against the Paymill API

Parameters:

  • http_method (Symbol)

    The http method to use, must be one of :get, :post, :put and :delete

  • api_url (String)

    The API url to use

  • data (Hash)

    The data to send, e.g. used when creating new objects.

Returns:

  • (Array)

    The parsed JSON response.



139
140
141
142
# File 'lib/paymill.rb', line 139

def self.request(http_method, api_url, data)
  info = Request::Info.new(http_method, api_url, data)
  Request::Base.new(info).perform
end