mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
adding documentation for cached_attributes
This commit is contained in:
parent
cb50a28807
commit
130a280dde
1 changed files with 4 additions and 2 deletions
|
@ -104,17 +104,19 @@ module ActiveRecord
|
|||
|
||||
# +cache_attributes+ allows you to declare which converted attribute values should
|
||||
# be cached. Usually caching only pays off for attributes with expensive conversion
|
||||
# methods, like date columns (e.g. created_at, updated_at).
|
||||
# methods, like time related columns (e.g. created_at, updated_at).
|
||||
def cache_attributes(*attribute_names)
|
||||
attribute_names.each {|attr| cached_attributes << attr.to_s}
|
||||
end
|
||||
|
||||
# returns the attributes where
|
||||
# returns the attributes which are cached.
|
||||
# By default time related columns with datatype <tt>:datetime, :timestamp, :time, :date</tt> are cached
|
||||
def cached_attributes
|
||||
@cached_attributes ||=
|
||||
columns.select{|c| attribute_types_cached_by_default.include?(c.type)}.map(&:name).to_set
|
||||
end
|
||||
|
||||
# returns true if the provided attribute is being cached
|
||||
def cache_attribute?(attr_name)
|
||||
cached_attributes.include?(attr_name)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue