Module: Dry::Initializer::Mixin

Defined in:
lib/dry/initializer/mixin.rb

Overview

Class-level DSL for the initializer

Instance Method Summary collapse

Instance Method Details

#option(name, **options) ⇒ self

Declares a named argument

Parameters:

  • name (#to_sym)
  • options (Hash)

    a customizable set of options

Options Hash (**options):

  • :default (Object)

    The default value

  • :type (#call)

    The type constraings via ‘dry-types`

  • :reader (Boolean) — default: true

    Whether to define attr_reader

Returns:

  • (self)

    itself



26
27
28
29
30
# File 'lib/dry/initializer/mixin.rb', line 26

def option(name, **options)
  @initializer_builder = initializer_builder
                         .define(self, name, option: true, **options)
  self
end

#param(name, **options) ⇒ self

Declares a plain argument

Parameters:

  • name (#to_sym)
  • options (Hash)

    a customizable set of options

Options Hash (**options):

  • :default (Object)

    The default value

  • :type (#call)

    The type constraings via ‘dry-types`

  • :reader (Boolean) — default: true

    Whether to define attr_reader

Returns:

  • (self)

    itself



14
15
16
17
18
# File 'lib/dry/initializer/mixin.rb', line 14

def param(name, **options)
  @initializer_builder = initializer_builder
                         .define(self, name, option: false, **options)
  self
end

#register_initializer_plugin(plugin) ⇒ self

Adds new plugin to the builder

Parameters:

Returns:

  • (self)

    itself



37
38
39
40
41
# File 'lib/dry/initializer/mixin.rb', line 37

def register_initializer_plugin(plugin)
  @initializer_builder = initializer_builder.register(plugin)
  initializer_builder.call(self)
  self
end