Class: Dry::Initializer::Plugins::Signature

Inherits:
Base
  • Object
show all
Defined in:
lib/dry/initializer/plugins/signature.rb

Overview

Plugin builds a chunk of code for the initializer’s signature:

Examples:

Signature.call(:user)
# => "user"

Signature.call(:user, default: -> { nil })
# => "user = Dry::Initializer::UNDEFINED"

Signature.call(:user, option: true)
# => nil

Instance Attribute Summary

Attributes inherited from Base

#name, #settings

Instance Method Summary collapse

Methods inherited from Base

#==, call, #initialize, #rename

Constructor Details

This class inherits a constructor from Dry::Initializer::Plugins::Base

Instance Method Details

#callObject



23
24
25
26
# File 'lib/dry/initializer/plugins/signature.rb', line 23

def call
  return unless param?
  required? ? name.to_s : "#{name} = Dry::Initializer::UNDEFINED"
end

#param?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/dry/initializer/plugins/signature.rb', line 15

def param?
  settings[:option] != true
end

#required?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/dry/initializer/plugins/signature.rb', line 19

def required?
  !settings.key?(:default) && !settings[:optional]
end