Module: DefaultValueForPlugin::ClassMethods
- Defined in:
- lib/vex/active_record/plugins/default_value_for/init.rb
Instance Method Summary collapse
Instance Method Details
#default_value_for(attribute, value = nil, &block) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/vex/active_record/plugins/default_value_for/init.rb', line 43 def default_value_for(attribute, value = nil, &block) if !method_defined?(:initialize_with_defaults) include(InstanceMethods) alias_method_chain :initialize, :defaults class_inheritable_accessor :_default_attribute_values self._default_attribute_values = ActiveSupport::OrderedHash.new end if block_given? container = BlockValueContainer.new(block) else container = NormalValueContainer.new(value) end _default_attribute_values[attribute.to_s] = container end |
#default_values(values) ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/vex/active_record/plugins/default_value_for/init.rb', line 58 def default_values(values) values.each_pair do |key, value| if value.kind_of? Proc default_value_for(key, &value) else default_value_for(key, value) end end end |