1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Respect cache timestamp format when giving timestamps to #cache_key

This commit is contained in:
Carlos Antonio da Silva 2013-11-04 13:06:53 -02:00
parent 91d72fe652
commit 92c6305954
2 changed files with 4 additions and 3 deletions

View file

@ -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}"

View file

@ -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