Module: Cubits

Extended by:
Helpers
Defined in:
lib/cubits.rb,
lib/cubits/errors.rb,
lib/cubits/helpers.rb,
lib/cubits/invoice.rb,
lib/cubits/version.rb,
lib/cubits/resource.rb,
lib/cubits/connection.rb

Defined Under Namespace

Modules: Helpers Classes: BadRequest, ClientError, Connection, ConnectionError, Forbidden, InternalServerError, Invoice, NotFound, Resource, ServerError, UnsupportedMediaType

Constant Summary collapse

DEFAULT_BASE_URL =
URI.parse('https://pay.cubits.com/')
VERSION =
'0.1.0'

Class Method Summary collapse

Methods included from Helpers

available?, send_money

Class Method Details

.base_urlObject

Returns current base API URL



47
48
49
# File 'lib/cubits.rb', line 47

def self.base_url
  @base_url ||= DEFAULT_BASE_URL
end

.base_url=(new_base_url) ⇒ Object

Sets new base API URL

Parameters:

  • new_base_url (URI)


55
56
57
58
# File 'lib/cubits.rb', line 55

def self.base_url=(new_base_url)
  fail ArgumentError, 'URI is expected as new_base_url' unless new_base_url.is_a?(URI)
  @base_url = new_base_url
end

.configure(params = {}) ⇒ Object

Configure Cubits connection

Parameters:

  • params (Hash) (defaults to: {})
  • params (:key) (defaults to: {})
    String

    API key obtained from Cubits

  • params (:secret) (defaults to: {})
    String

    API secret obtained from Cubits



22
23
24
# File 'lib/cubits.rb', line 22

def self.configure(params = {})
  @connection = Connection.new(params)
end

.connectionObject

Returns configured Connection object



29
30
31
# File 'lib/cubits.rb', line 29

def self.connection
  @connection || fail('Cubits connection is not configured')
end

.loggerObject

Returns current Logger object



35
36
37
# File 'lib/cubits.rb', line 35

def self.logger
  @logger ||= Logger.new(nil)
end

.logger=(new_logger) ⇒ Object

Sets new Logger object



41
42
43
# File 'lib/cubits.rb', line 41

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

.resetObject

Resets all internal states



61
62
63
64
# File 'lib/cubits.rb', line 61

def self.reset
  @connection = nil
  @logger = nil
end