diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-12-10 16:22:30 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2012-12-10 17:43:26 -0300 |
commit | b097652ef67142b7273b17dcfeba1710a5b5cadf (patch) | |
tree | 1ab4244ce0261c5da4e8c249787450c679c46961 /activerecord/lib | |
parent | 660882bda42ffacc602758631c2a2e6ba09c1ee1 (diff) | |
download | rails-b097652ef67142b7273b17dcfeba1710a5b5cadf.tar.gz rails-b097652ef67142b7273b17dcfeba1710a5b5cadf.tar.bz2 rails-b097652ef67142b7273b17dcfeba1710a5b5cadf.zip |
Allow users to choose the timestamp format in the cache key
This can be done using the class attribute cache_timestamp_format
Closes #8195
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/integration.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/integration.rb b/activerecord/lib/active_record/integration.rb index 23c272ef12..f2ace18d44 100644 --- a/activerecord/lib/active_record/integration.rb +++ b/activerecord/lib/active_record/integration.rb @@ -1,5 +1,16 @@ module ActiveRecord module Integration + extend ActiveSupport::Concern + + included do + ## + # :singleton-method: + # Indicates the format used to generate the timestamp format in the cache key. + # This is +:number+, by default. + class_attribute :cache_timestamp_format, :instance_writer => false + self.cache_timestamp_format = :number + end + # Returns a String, which Action Pack uses for constructing an URL to this # object. The default implementation returns this record's id as a String, # or nil if this record's unsaved. @@ -39,7 +50,7 @@ module ActiveRecord when new_record? "#{self.class.model_name.cache_key}/new" when timestamp = self[:updated_at] - timestamp = timestamp.utc.to_s(:nsec) + timestamp = timestamp.utc.to_s(cache_timestamp_format) "#{self.class.model_name.cache_key}/#{id}-#{timestamp}" else "#{self.class.model_name.cache_key}/#{id}" |