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, option: true)
# => "user:"

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

Instance Attribute Summary

Attributes inherited from Base

#name, #settings

Instance Method Summary collapse

Methods inherited from Base

#==, call, #initialize

Constructor Details

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

Instance Method Details

#callObject



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

def call
  case [param?, default?]
  when [true, false]  then name.to_s
  when [false, false] then "#{name}:"
  when [true, true]   then "#{name} = #{undefined}"
  when [false, true]  then "#{name}: #{undefined}"
  end
end

#default?Boolean

Returns:

  • (Boolean)


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

def default?
  settings.key? :default
end

#param?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/dry/initializer/plugins/signature.rb', line 12

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