diff options
author | Joshua Peek <josh@joshpeek.com> | 2009-07-30 14:26:08 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2009-07-30 17:54:02 -0500 |
commit | d599ea27c563af2a79ccad3cabc0a1efd4c2427f (patch) | |
tree | 6738d8b33f00eae911fd424e2ab158c989ff008d /activerecord/lib | |
parent | 89e9efcbe245475dec1206373755f075e17fa3e2 (diff) | |
download | rails-d599ea27c563af2a79ccad3cabc0a1efd4c2427f.tar.gz rails-d599ea27c563af2a79ccad3cabc0a1efd4c2427f.tar.bz2 rails-d599ea27c563af2a79ccad3cabc0a1efd4c2427f.zip |
Move attribute_types_cached_by_default into attribute methods reading concern
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/attribute_methods.rb | 10 | ||||
-rw-r--r-- | activerecord/lib/active_record/attribute_methods/read.rb | 11 |
2 files changed, 11 insertions, 10 deletions
diff --git a/activerecord/lib/active_record/attribute_methods.rb b/activerecord/lib/active_record/attribute_methods.rb index 8686db1793..e7f3f4cba5 100644 --- a/activerecord/lib/active_record/attribute_methods.rb +++ b/activerecord/lib/active_record/attribute_methods.rb @@ -4,13 +4,6 @@ module ActiveRecord module AttributeMethods #:nodoc: extend ActiveSupport::Concern - ATTRIBUTE_TYPES_CACHED_BY_DEFAULT = [:datetime, :timestamp, :time, :date] - - included do - cattr_accessor :attribute_types_cached_by_default, :instance_writer => false - self.attribute_types_cached_by_default = ATTRIBUTE_TYPES_CACHED_BY_DEFAULT - end - # Declare and check for suffixed attribute methods. module ClassMethods # Declares a method available for all attributes with the given suffix. @@ -77,9 +70,6 @@ module ActiveRecord end end end - unless generated_methods.include?("id") - define_read_method(:id, primary_key, columns_hash[primary_key.to_s]) - end end def undefine_attribute_methods diff --git a/activerecord/lib/active_record/attribute_methods/read.rb b/activerecord/lib/active_record/attribute_methods/read.rb index 1178c713b4..bea332ef26 100644 --- a/activerecord/lib/active_record/attribute_methods/read.rb +++ b/activerecord/lib/active_record/attribute_methods/read.rb @@ -3,8 +3,15 @@ module ActiveRecord module Read extend ActiveSupport::Concern + ATTRIBUTE_TYPES_CACHED_BY_DEFAULT = [:datetime, :timestamp, :time, :date] + included do attribute_method_suffix "" + + cattr_accessor :attribute_types_cached_by_default, :instance_writer => false + self.attribute_types_cached_by_default = ATTRIBUTE_TYPES_CACHED_BY_DEFAULT + + # Undefine id so it can be used as an attribute name undef_method :id end @@ -35,6 +42,10 @@ module ActiveRecord else define_read_method(attr_name.to_sym, attr_name, columns_hash[attr_name]) end + + if attr_name == primary_key && attr_name != "id" + define_read_method(:id, attr_name, columns_hash[attr_name]) + end end private |