From 130a280ddee1f96ccf378b52c17ee742b5e54f4a Mon Sep 17 00:00:00 2001 From: Gaurav Sharma Date: Mon, 12 May 2008 18:00:19 +0530 Subject: [PATCH] adding documentation for cached_attributes --- activerecord/lib/active_record/attribute_methods.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/activerecord/lib/active_record/attribute_methods.rb b/activerecord/lib/active_record/attribute_methods.rb index 2db27226f2..ac40e4f987 100644 --- a/activerecord/lib/active_record/attribute_methods.rb +++ b/activerecord/lib/active_record/attribute_methods.rb @@ -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 :datetime, :timestamp, :time, :date 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