Module: Dry::Initializer::Mixin
- Defined in:
- lib/dry/initializer/mixin.rb
Overview
Class-level DSL for the initializer
Instance Method Summary collapse
-
#option(name, type = nil, **options) ⇒ self
Declares a named argument.
-
#param(name, type = nil, **options) ⇒ self
Declares a plain argument.
-
#register_initializer_plugin(plugin) ⇒ self
Adds new plugin to the builder.
Instance Method Details
#option(name, type = nil, **options) ⇒ self
Declares a named argument
27 28 29 30 31 32 |
# File 'lib/dry/initializer/mixin.rb', line 27 def option(name, type = nil, **) [:type] = type if type [:option] = true @initializer_builder = initializer_builder.define(name, **) initializer_builder.call(self) end |
#param(name, type = nil, **options) ⇒ self
Declares a plain argument
14 15 16 17 18 19 |
# File 'lib/dry/initializer/mixin.rb', line 14 def param(name, type = nil, **) [:type] = type if type [:option] = false @initializer_builder = initializer_builder.define(name, **) initializer_builder.call(self) end |
#register_initializer_plugin(plugin) ⇒ self
Adds new plugin to the builder
39 40 41 42 |
# File 'lib/dry/initializer/mixin.rb', line 39 def register_initializer_plugin(plugin) @initializer_builder = initializer_builder.register(plugin) initializer_builder.call(self) end |