From 92c6305954956cd845ebb89f4e1e44522e20a7c1 Mon Sep 17 00:00:00 2001 From: Carlos Antonio da Silva Date: Mon, 4 Nov 2013 13:06:53 -0200 Subject: [PATCH] Respect cache timestamp format when giving timestamps to #cache_key --- activerecord/lib/active_record/integration.rb | 3 ++- activerecord/test/cases/integration_test.rb | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/activerecord/lib/active_record/integration.rb b/activerecord/lib/active_record/integration.rb index 2b275a2ed9..94abdb3ec7 100644 --- a/activerecord/lib/active_record/integration.rb +++ b/activerecord/lib/active_record/integration.rb @@ -56,7 +56,8 @@ module ActiveRecord "#{self.class.model_name.cache_key}/new" when timestamp_names.any? timestamps = timestamp_names.collect { |method| send(method) }.compact - "#{self.class.model_name.cache_key}/#{id}-#{timestamps.max.utc.to_s(:number)}" + timestamp = timestamps.max.utc.to_s(cache_timestamp_format) + "#{self.class.model_name.cache_key}/#{id}-#{timestamp}" when timestamp = max_updated_column_timestamp timestamp = timestamp.utc.to_s(cache_timestamp_format) "#{self.class.model_name.cache_key}/#{id}-#{timestamp}" diff --git a/activerecord/test/cases/integration_test.rb b/activerecord/test/cases/integration_test.rb index bceb96eac2..840865c4cf 100644 --- a/activerecord/test/cases/integration_test.rb +++ b/activerecord/test/cases/integration_test.rb @@ -82,9 +82,9 @@ class IntegrationTest < ActiveRecord::TestCase dev.touch assert_not_equal key, dev.cache_key end - + def test_named_timestamps_for_cache_key owner = owners(:blackbeard) - assert_equal "owners/#{owner.id}-#{owner.happy_at.utc.to_s(:number)}", owner.cache_key(:updated_at, :happy_at) + assert_equal "owners/#{owner.id}-#{owner.happy_at.utc.to_s(:nsec)}", owner.cache_key(:updated_at, :happy_at) end end