Module: ValueClass::Constructable::ClassMethods
- Defined in:
- lib/value_class/constructable.rb
Instance Method Summary collapse
-
#config {|config| ... } ⇒ Object
Constructs an instance using the configuration created in the passed in block.
- #config_class ⇒ Object
Instance Method Details
#config {|config| ... } ⇒ Object
Constructs an instance using the configuration created in the passed in block.
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/value_class/constructable.rb', line 28 def config config = config_class.new value_attributes.each do |attr| if attr.default config.send("#{attr.name}=", attr.default) end end yield config new(config) end |
#config_class ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/value_class/constructable.rb', line 39 def config_class unless @config_class @config_class = Class.new value_attributes.each do |attribute| # Define assignment operator @config_class.send(:attr_writer, attribute.name) define_accessor(attribute) if (insert_method = attribute.[:insert_method]) define_insert(attribute, insert_method) end end end @config_class end |