Class: Dry::Initializer::Param

Inherits:
Attribute show all
Defined in:
lib/dry/initializer/param.rb

Instance Attribute Summary

Attributes inherited from Attribute

#coercer, #default, #optional, #reader, #source, #target

Instance Method Summary collapse

Methods inherited from Attribute

#==, dispatchers, #getter, new, option, param

Instance Method Details

#coercer_hashObject

part of __coercers__



25
26
27
28
29
# File 'lib/dry/initializer/param.rb', line 25

def coercer_hash
  return {} unless coercer
  value = proc { |v| (v == Dry::Initializer::UNDEFINED) ? v : coercer.(v) }
  { :"param_#{target}" => value }
end

#default_hashObject

part of __defaults__



20
21
22
# File 'lib/dry/initializer/param.rb', line 20

def default_hash
  default ? { :"param_#{target}" => default } : {}
end

#fast_setterObject



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

def fast_setter
  safe_setter
end

#initializer_signatureObject

part of __initializer__ definition



4
5
6
# File 'lib/dry/initializer/param.rb', line 4

def initializer_signature
  optional ? "#{target} = Dry::Initializer::UNDEFINED" : target
end

#presetterObject

parts of __initalizer__



9
# File 'lib/dry/initializer/param.rb', line 9

def presetter; end

#safe_setterObject



11
12
13
# File 'lib/dry/initializer/param.rb', line 11

def safe_setter
  "@#{target} = #{maybe_coerced}"
end