Class: Batsir::Config
- Inherits:
-
Object
- Object
- Batsir::Config
- Defined in:
- lib/batsir/config.rb
Defined Under Namespace
Classes: ConfigBlock
Class Attribute Summary collapse
-
.config ⇒ Object
Adapted from Merb::Config class.
Class Method Summary collapse
-
.[](key) ⇒ Object
Retrieve the value of a config entry.
-
.[]=(key, val) ⇒ Object
Set the value of a config entry.
-
.configuration ⇒ Object
Returns the current configuration or sets it up.
-
.configure(&block) ⇒ Object
Set configuration parameters from a code block, where each method evaluates to a config parameter.
- .defaults ⇒ Object
-
.delete(key) ⇒ Object
Remove the value of a config entry.
-
.fetch(key, default = nil) ⇒ Object
Retrieve the value of a config entry, returning the provided default if the key is not present.
-
.key?(key) ⇒ Boolean
Detects whether the provided key is in the config.
-
.method_missing(method, *args) ⇒ Object
Allows retrieval of single key config values via Batsir::Config.<key> Allows single key assignment via Merb.config.<key> = …
-
.reset ⇒ Object
Resets the configuration to its default state.
-
.setup(settings = {}) ⇒ Object
Sets up the configuration by storing the given settings.
-
.to_hash ⇒ Object
Returns the configuration as a hash.
-
.use {|configuration| ... } ⇒ Object
Yields the configuration.
Class Attribute Details
.config ⇒ Object
Adapted from Merb::Config class
7 8 9 |
# File 'lib/batsir/config.rb', line 7 def config @config end |
Class Method Details
.[](key) ⇒ Object
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
74 75 76 |
# File 'lib/batsir/config.rb', line 74 def [](key) configuration[key] end |
.[]=(key, val) ⇒ Object
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
85 86 87 |
# File 'lib/batsir/config.rb', line 85 def []=(key, val) configuration[key] = val end |
.configuration ⇒ Object
Returns the current configuration or sets it up
28 29 30 |
# File 'lib/batsir/config.rb', line 28 def configuration @config ||= setup end |
.configure(&block) ⇒ Object
164 165 166 167 |
# File 'lib/batsir/config.rb', line 164 def configure(&block) ConfigBlock.new(self, &block) if block_given? nil end |
.defaults ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 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) ⇒ Object
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
98 99 100 |
# File 'lib/batsir/config.rb', line 98 def delete(key) configuration.delete(key) end |
.fetch(key, default = nil) ⇒ Object
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
119 120 121 |
# File 'lib/batsir/config.rb', line 119 def fetch(key, default = nil) configuration.fetch(key, default) end |
.key?(key) ⇒ Boolean
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
61 62 63 |
# File 'lib/batsir/config.rb', line 61 def key?(key) configuration.key?(key) end |
.method_missing(method, *args) ⇒ Object
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
180 181 182 183 184 185 186 |
# 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 ⇒ Object
Resets the configuration to its default state
104 105 106 |
# File 'lib/batsir/config.rb', line 104 def reset setup end |
.setup(settings = {}) ⇒ Object
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
143 144 145 |
# File 'lib/batsir/config.rb', line 143 def setup(settings = {}) @config = defaults.merge(settings) end |
.to_hash ⇒ Object
Returns the configuration as a hash.
Returns
- Hash
-
The config as a hash.
:api: public
129 130 131 |
# File 'lib/batsir/config.rb', line 129 def to_hash configuration end |
.use {|configuration| ... } ⇒ Object
47 48 49 50 |
# File 'lib/batsir/config.rb', line 47 def use yield configuration nil end |