Class: Dry::Initializer::Plugins::VariableSetter
- Defined in:
- lib/dry/initializer/plugins/variable_setter.rb
Overview
Plugin builds a code for variable setter:
Instance Attribute Summary
Attributes inherited from Base
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
#call ⇒ Object
23 24 25 26 27 28 |
# File 'lib/dry/initializer/plugins/variable_setter.rb', line 23 def call return "@#{name} = #{name}" if param? key = ":\"#{name}\"" return "@#{rename} = __options__.fetch(#{key})" if required? "@#{rename} = __options__.fetch(#{key}, Dry::Initializer::UNDEFINED)" end |
#param? ⇒ Boolean
15 16 17 |
# File 'lib/dry/initializer/plugins/variable_setter.rb', line 15 def param? settings[:option] != true end |
#required? ⇒ Boolean
19 20 21 |
# File 'lib/dry/initializer/plugins/variable_setter.rb', line 19 def required? !settings.key?(:default) && !settings[:optional] end |