Module: Cubits

Extended by:
Helpers
Defined in:
lib/cubits.rb,
lib/cubits/quote.rb,
lib/cubits/errors.rb,
lib/cubits/account.rb,
lib/cubits/channel.rb,
lib/cubits/helpers.rb,
lib/cubits/invoice.rb,
lib/cubits/version.rb,
lib/cubits/callback.rb,
lib/cubits/resource.rb,
lib/cubits/connection.rb,
lib/cubits/resource_collection.rb

Defined Under Namespace

Modules: Helpers Classes: Account, BadRequest, Callback, Channel, ClientError, Connection, ConnectionError, Forbidden, InsecureCallback, InternalServerError, InvalidSignature, Invoice, NotFound, Quote, Resource, ResourceCollection, ServerError, UnsupportedMediaType

Constant Summary collapse

DEFAULT_BASE_URL =
URI.parse('https://api.cubits.com/')
VERSION =
'0.6.0'

Class Method Summary collapse

Methods included from Helpers

available?, buy, sell, send_money

Class Method Details

.base_urlObject

Returns current base API URL



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

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, String)


70
71
72
73
74
# File 'lib/cubits.rb', line 70

def self.base_url=(new_base_url)
  new_base_url = URI.parse(new_base_url) if new_base_url.is_a?(String)
  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



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

def self.configure(params = {})
  @connections ||= {}
  @connections[params[:key]] = Connection.new(params)
end

.connection(key = nil) ⇒ Connection

Returns configured Connection object

Parameters:

  • key (String) (defaults to: nil)

    (optional) Cubits API key of the configured connection

Returns:

  • (Connection)

    Connection object matching the requested Cubits API key or first configured connection



39
40
41
42
43
44
45
46
# File 'lib/cubits.rb', line 39

def self.connection(key = nil)
  @connections ||= {}
  c = key ? @connections[key] : @connections.values.first
  unless c
    fail ConnectionError, "Cubits connection is not configured for key #{key || '(default)'}"
  end
  c
end

.loggerObject

Returns current Logger object



50
51
52
# File 'lib/cubits.rb', line 50

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

.logger=(new_logger) ⇒ Object

Sets new Logger object



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

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

.resetObject

Resets all internal states



78
79
80
81
# File 'lib/cubits.rb', line 78

def self.reset
  @connections = {}
  @logger = nil
end