45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/validates_timeliness/active_record/attribute_methods.rb', line 45
def define_attribute_methods_with_timeliness
return if generated_methods?
timeliness_methods = []
columns_hash.each do |name, column|
if [:date, :time, :datetime].include?(column.type)
method_name = "#{name}="
next if instance_method_already_implemented?(method_name)
time_zone_aware = create_time_zone_conversion_attribute?(name, column) rescue false
define_method(method_name) do |value|
write_date_time_attribute(name, value, column.type, time_zone_aware)
end
timeliness_methods << method_name
end
end
@_defined_class_methods = nil
define_attribute_methods_without_timeliness
timeliness_methods.each {|attr| generated_methods << attr }
end
|