Module: UniRateRails

Defined in:
lib/unirate_rails.rb,
lib/unirate_rails/client.rb,
lib/unirate_rails/engine.rb,
lib/unirate_rails/errors.rb,
lib/unirate_rails/helper.rb,
lib/unirate_rails/version.rb,
lib/unirate_rails/configuration.rb,
app/controllers/unirate_rails/rates_controller.rb

Overview

Standalone top-level module holding only the version constant. Kept deliberately free of any Rails::Engine (or other runtime-class) reopening: the gemspec require_relatives this file at build time, before the runtime dependencies (railties) are installed. Opening a module that later becomes a subclass of something Rails-defined would blow up with a "superclass mismatch" TypeError during gem build.

Defined Under Namespace

Modules: Helper Classes: APIError, AuthenticationError, Client, Configuration, Engine, InvalidCurrencyError, InvalidDateError, RateLimitError, RatesController, UnirateError

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.clientObject

A Client built from the current configuration. A fresh instance is returned each call so config changes are always picked up.



36
37
38
# File 'lib/unirate_rails.rb', line 36

def client
  Client.new
end

.configurationObject

The process-wide Configuration. Lazily created on first access.



18
19
20
# File 'lib/unirate_rails.rb', line 18

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields the configuration for block-style setup, typically from a Rails initializer.

Yields:



24
25
26
27
# File 'lib/unirate_rails.rb', line 24

def configure
  yield(configuration) if block_given?
  configuration
end

.reset_configuration!Object

Resets configuration to defaults (mainly useful in tests).



30
31
32
# File 'lib/unirate_rails.rb', line 30

def reset_configuration!
  @configuration = Configuration.new
end