moved attribute methods modules into Old and New for rails versions

This commit is contained in:
Adam Meehan 2008-05-05 09:11:43 +10:00
parent 9a8a82c699
commit 05a2d53b9a

View File

@ -16,14 +16,15 @@ module ValidatesTimeliness
def self.included(base)
if ActiveRecord::VERSION::STRING < '2.1'
base.extend ClassMethodsOld
base.extend ClassMethods::Old
else
base.extend ClassMethodsNew
base.extend ClassMethods::New
end
end
module ClassMethods
# ActiveRecord >= 2.1
module ClassMethodsNew
module New
def define_read_method_for_time_zone_conversion(attr_name)
method_body = <<-EOV
def #{attr_name}(reload = false)
@ -54,10 +55,10 @@ module ValidatesTimeliness
EOV
evaluate_attribute_method attr_name, method_body, "#{attr_name}="
end
end
end # New
# ActiveRecord < 2.1
module ClassMethodsOld
module Old
def define_attribute_methods
return if generated_methods?
columns_hash.each do |name, column|
@ -99,7 +100,8 @@ module ValidatesTimeliness
EOV
evaluate_attribute_method attr_name, method_body
end
end
end # Old
end # ClassMethods
end
end