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
|