Module: Topping::Configurable
- Included in:
- Branch::ChildClassMethods
- Defined in:
- lib/topping/configurable.rb,
lib/topping/configurable/hq.rb,
lib/topping/configurable/branch.rb
Overview
Mixin to add the ability for a plugin to define configuration.
Defined Under Namespace
Instance Attribute Summary collapse
-
#after_config_block ⇒ #call?
private
A block to be executed after configuration is finalized.
-
#configuration_builder ⇒ ConfigurationBuilder
The plugins’s ConfigurationBuilder object.
Instance Method Summary collapse
-
#after_config {|config| ... } ⇒ void
Registers a block to be executed after configuration is finalized.
-
#config(*args, **kwargs, &block) ⇒ void
Sets a configuration attribute on the plugin.
-
#inherited(klass) ⇒ Object
Initializes the configuration builder for any inheriting classes.
Instance Attribute Details
#after_config_block ⇒ #call?
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
A block to be executed after configuration is finalized.
13 14 15 |
# File 'lib/topping/configurable.rb', line 13 def after_config_block @after_config_block end |
#configuration_builder ⇒ ConfigurationBuilder
The plugins’s Topping::ConfigurationBuilder object.
19 20 21 |
# File 'lib/topping/configurable.rb', line 19 def configuration_builder @configuration_builder end |
Instance Method Details
#after_config {|config| ... } ⇒ void
This method returns an undefined value.
Registers a block to be executed after configuration is finalized.
25 26 27 |
# File 'lib/topping/configurable.rb', line 25 def after_config(&block) self.after_config_block = block end |
#config(*args, **kwargs, &block) ⇒ void
This method returns an undefined value.
Sets a configuration attribute on the plugin.
33 34 35 36 37 38 39 |
# File 'lib/topping/configurable.rb', line 33 def config(*args, **kwargs, &block) if block configuration_builder.config(*args, **kwargs, &block) else configuration_builder.config(*args, **kwargs) end end |
#inherited(klass) ⇒ Object
Initializes the configuration builder for any inheriting classes.
42 43 44 45 |
# File 'lib/topping/configurable.rb', line 42 def inherited(klass) super klass.configuration_builder = ConfigurationBuilder.new end |