Module: Regaliator
- Defined in:
- lib/regaliator.rb,
lib/regaliator/v15.rb,
lib/regaliator/v30.rb,
lib/regaliator/v31.rb,
lib/regaliator/client.rb,
lib/regaliator/request.rb,
lib/regaliator/version.rb,
lib/regaliator/endpoint.rb,
lib/regaliator/response.rb,
lib/regaliator/v15/bill.rb,
lib/regaliator/v15/rate.rb,
lib/regaliator/v30/bill.rb,
lib/regaliator/v30/rate.rb,
lib/regaliator/v15/biller.rb,
lib/regaliator/v15/client.rb,
lib/regaliator/v30/biller.rb,
lib/regaliator/v30/client.rb,
lib/regaliator/v15/account.rb,
lib/regaliator/v30/account.rb,
lib/regaliator/configuration.rb,
lib/regaliator/v15/transaction.rb,
lib/regaliator/v30/transaction.rb,
lib/regaliator/api_version_error.rb
Defined Under Namespace
Modules: V15, V30, V31
Classes: APIVersionError, Client, Configuration, Endpoint, Request, Response
Constant Summary
collapse
- API_VERSIONS =
{
V15::API_VERSION => V15::Client,
V30::API_VERSION => V30::Client,
V31::API_VERSION => V31::Client
}.freeze
- VERSION =
'4.0.1'
Class Method Summary
collapse
Class Method Details
.configuration ⇒ Object
15
16
17
|
# File 'lib/regaliator.rb', line 15
def configuration
@config ||= Configuration.new
end
|
19
20
21
|
# File 'lib/regaliator.rb', line 19
def configure
yield(configuration)
end
|
.method_missing(method_name, *args) ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/regaliator.rb', line 34
def method_missing(method_name, *args)
client = new
if client.respond_to?(method_name)
client.send(method_name, *args)
else
super
end
end
|
.new(arg = nil) {|config| ... } ⇒ Object
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/regaliator.rb', line 23
def new(arg = nil)
config = get_configuration(arg)
yield(config) if block_given?
unless API_VERSIONS.key?(config.version)
raise APIVersionError.new(config.version)
end
API_VERSIONS[config.version].new(config)
end
|