9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/has_defaults/active_record_ext.rb', line 9
def has_defaults(attrs)
raise Error, "Hash expected; #{attrs.class} given." unless attrs.is_a?(Hash)
include InstanceMethods
if respond_to?(:has_defaults_options)
self.has_defaults_options = has_defaults_options.dup
else
if respond_to?(:class_attribute)
class_attribute :has_defaults_options
else
class_inheritable_hash :has_defaults_options
end
after_initialize :set_default_attributes
end
self.has_defaults_options ||= {}
self.has_defaults_options.merge!(attrs)
end
|