18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/cymbalize.rb', line 18
def symbolize_attribute(attribute_name, options)
define_method attribute_name do
read_symbolized_attribute(attribute_name)
end
if options[:in].present?
validates_inclusion_of attribute_name,
:in => options[:in],
:allow_blank => !!options[:allow_blank]
@@symbolized_options[attribute_name] = options[:in]
if !!options[:methods]
options[:in].each do |valid_type|
define_method "#{valid_type}?" do
read_symbolized_attribute(attribute_name) == valid_type
end
end
end
if !!options[:scopes]
options[:in].each do |valid_type|
scope valid_type, where(attribute_name => valid_type)
end
end
end
end
|