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

#intolerant_to_unknown_optionsself

Makes initializer intolerant to unknown options

Returns:

  • (self)

    itself



55
56
57
58
# File 'lib/dry/initializer/mixin.rb', line 55

def intolerant_to_unknown_options
  @initializer_builder = initializer_builder.intolerant_to_unknown_options
  initializer_builder.call(self)
end

#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(name, option: true, **options)
  initializer_builder.call(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(name, option: false, **options)
  initializer_builder.call(self)
end

#register_initializer_plugin(plugin) ⇒ self

Adds new plugin to the builder

Parameters:

Returns:

  • (self)

    itself



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

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

#tolerant_to_unknown_optionsself

Makes initializer tolerant to unknown options

Returns:

  • (self)

    itself



46
47
48
49
# File 'lib/dry/initializer/mixin.rb', line 46

def tolerant_to_unknown_options
  @initializer_builder = initializer_builder.tolerant_to_unknown_options
  initializer_builder.call(self)
end