11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/activerecord_hstore_boolean.rb', line 11
def hstore_boolean_values(attr_name, *keys)
keys.map!(&:to_sym)
before_save "normalize_#{attr_name}_boolean_values"
define_method("normalize_#{attr_name}_boolean_values") do
self[attr_name].to_options!.each do |key, value|
self[attr_name][key] = TRUE_VALUES.include?(value) ? STORED_TRUE_VALUE : STORED_FALSE_VALUE if keys.include?(key)
end
end
define_method(attr_name) do
self[attr_name].to_options!.each do |key, value|
self[attr_name][key] = value == STORED_TRUE_VALUE if keys.include?(key)
end
end
end
|