class Batsir::Config

Attributes

config[RW]

Adapted from Merb::Config class

Public Class Methods

[](key) click to toggle source

Retrieve the value of a config entry.

Parameters

key<Object>

The key to retrieve the parameter for.

Returns

Object

The value of the configuration parameter.

:api: public

# File lib/batsir/config.rb, line 74
def [](key)
  configuration[key]
end
[]=(key, val) click to toggle source

Set the value of a config entry.

Parameters

key<Object>

The key to set the parameter for.

val<Object>

The value of the parameter.

:api: public

# File lib/batsir/config.rb, line 85
def []=(key, val)
  configuration[key] = val
end
configuration() click to toggle source

Returns the current configuration or sets it up

# File lib/batsir/config.rb, line 28
def configuration
  @config ||= setup
end
configure(&block) click to toggle source

Set configuration parameters from a code block, where each method evaluates to a config parameter.

Parameters

&block

Configuration parameter block.

Examples

# Set environment and log level.
Batsir::Config.configure do
  environment "development"
  log_level   "debug"
end

Returns

nil

:api: public

# File lib/batsir/config.rb, line 164
def configure(&block)
  ConfigBlock.new(self, &block) if block_given?
  nil
end
defaults() click to toggle source
# File lib/batsir/config.rb, line 9
def defaults
  @defaults ||= {
    :amqp_host => 'localhost',
    :amqp_port => 5672,
    :amqp_user => 'guest',
    :amqp_pass => 'guest',
    :amqp_vhost => '/',
    :amqp_durable => true,
    :ampq_pool_size => 5,
    :redis_host => 'localhost',
    :redis_port => 6379,
    :redis_database => 0,
    :redis_namespace => 'batsir',
    :sidekiq_queue => 'batsir',
    :log_name => 'batsir'
  }
end
delete(key) click to toggle source

Remove the value of a config entry.

Parameters

key<Object>

The key of the parameter to delete.

Returns

Object

The value of the removed entry.

:api: public

# File lib/batsir/config.rb, line 98
def delete(key)
  configuration.delete(key)
end
fetch(key, default = nil) click to toggle source

Retrieve the value of a config entry, returning the provided default if the key is not present

Parameters

key<Object>

The key to retrieve the parameter for.

default<Object>

The default value to return if the parameter is not set.

Returns

Object

The value of the configuration parameter or the default.

:api: public

# File lib/batsir/config.rb, line 119
def fetch(key, default = nil)
  configuration.fetch(key, default)
end
key?(key) click to toggle source

Detects whether the provided key is in the config.

Parameters

key<Object>

The key to check.

Returns

Boolean

True if the key exists in the config.

:api: public

# File lib/batsir/config.rb, line 61
def key?(key)
  configuration.key?(key)
end
method_missing(method, *args) click to toggle source

Allows retrieval of single key config values via Batsir::Config.<key> Allows single key assignment via Merb.config.<key> = …

Parameters

method<~to_s>

Method name as hash key value.

*args

Value to set the configuration parameter to.

Returns

The value of the entry fetched or assigned to.

:api: public

# File lib/batsir/config.rb, line 180
def method_missing(method, *args)
  if method.to_s[-1,1] == '='
    self[method.to_s.tr('=','').to_sym] = args.first
  else
    self[method]
  end
end
reset() click to toggle source

Resets the configuration to its default state

# File lib/batsir/config.rb, line 104
def reset
  setup
end
setup(settings = {}) click to toggle source

Sets up the configuration by storing the given settings.

Parameters

settings<Hash>

Configuration settings to use. These are merged with the defaults.

Returns

The configuration as a hash.

:api: private

# File lib/batsir/config.rb, line 143
def setup(settings = {})
  @config = defaults.merge(settings)
end
to_hash() click to toggle source

Returns the configuration as a hash.

Returns

Hash

The config as a hash.

:api: public

# File lib/batsir/config.rb, line 129
def to_hash
  configuration
end
use() { |configuration| ... } click to toggle source

Yields the configuration.

Block parameters

c<Hash>

The configuration parameters.

Examples

Batsir::Config.use do |config|
  config[:exception_details] = false
  config[:log_stream]        = STDOUT
end

Returns

nil

:api: public

# File lib/batsir/config.rb, line 47
def use
  yield configuration
  nil
end