Module: Contingency

Defined in:
lib/contingency.rb,
lib/contingency/plan.rb,
lib/contingency/version.rb,
lib/contingency/exceptions.rb,
lib/contingency/configuration.rb,
lib/contingency/adapters/interface.rb

Defined Under Namespace

Modules: Adapters, Exceptions, Plan Classes: Configuration

Constant Summary collapse

VERSION =
"0.2.2"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.adapterObject

Returns the value of attribute adapter.



10
11
12
# File 'lib/contingency.rb', line 10

def adapter
  @adapter
end

.adaptersObject

Returns the value of attribute adapters.



10
11
12
# File 'lib/contingency.rb', line 10

def adapters
  @adapters
end

.configurationObject

Returns the value of attribute configuration.



9
10
11
# File 'lib/contingency.rb', line 9

def configuration
  @configuration
end

Class Method Details

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

Yields:



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/contingency.rb', line 14

def self.configure
  self.adapters = Contingency::Adapters.constants.reject{ |a| a == :Interface }
  unless self.adapter
    if self.adapters.length > 0
      self.adapter = Contingency::Adapters.const_get self.adapters.first
    else
      self.adapter = Adapters::Interface
    end
  end
  self.configuration ||= defined?(self.adapter::Configuration) ? self.adapter::Configuration.new : Configuration.new

  yield(configuration) if block_given?

  require "contingency/plan"

  configuration
end

.loggerObject



32
33
34
# File 'lib/contingency.rb', line 32

def self.logger
  @logger ||= configuration.logger
end