mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Move attribute_types_cached_by_default into attribute methods reading concern
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user