Module: Knowledge::Configurable::ClassMethods
- Defined in:
- lib/knowledge/configurable.rb
Overview
Class Methods to be injected.
Defined Under Namespace
Classes: Config
Instance Method Summary collapse
-
#[](name) ⇒ Object
Syntaxic sugar allowing to access a config var.
-
#[]=(name, value) ⇒ Object
Syntaxic sugar allowing to set a config var.
-
#configure {|configuration| ... } ⇒ Object
Exposes the configuration allowing to manage it.
-
#setting(name, default: nil) ⇒ Object
Registers a configuration variable with a potential default value.
Instance Method Details
#[](name) ⇒ Object
Syntaxic sugar allowing to access a config var.
Usage
Parameters
96 97 98 |
# File 'lib/knowledge/configurable.rb', line 96 def [](name) configuration.public_send(name.to_sym) end |
#[]=(name, value) ⇒ Object
Syntaxic sugar allowing to set a config var.
Usage
Parameters
116 117 118 |
# File 'lib/knowledge/configurable.rb', line 116 def []=(name, value) configuration.public_send("#{name}=", value) end |
#configure {|configuration| ... } ⇒ Object
Exposes the configuration allowing to manage it.
Usage
Parameters
77 78 79 |
# File 'lib/knowledge/configurable.rb', line 77 def configure yield configuration end |
#setting(name, default: nil) ⇒ Object
Registers a configuration variable with a potential default value
Usage
Parameters
55 56 57 58 59 60 |
# File 'lib/knowledge/configurable.rb', line 55 def setting(name, default: nil) configuration.class.send(:attr_accessor, name) configuration.public_send("#{name}=", default) singleton_class.class_eval { def_delegators :configuration, name, "#{name}=" } end |