Merge pull request #2063 from elight/master
Patch for https://github.com/rails/rails/issues/2059
This commit is contained in:
commit
31ea0276a4
@ -1638,7 +1638,8 @@ def cache_key
|
||||
when new_record?
|
||||
"#{self.class.model_name.cache_key}/new"
|
||||
when timestamp = self[:updated_at]
|
||||
"#{self.class.model_name.cache_key}/#{id}-#{timestamp.to_s(:number)}"
|
||||
timestamp = timestamp.utc.to_s(:number)
|
||||
"#{self.class.model_name.cache_key}/#{id}-#{timestamp}"
|
||||
else
|
||||
"#{self.class.model_name.cache_key}/#{id}"
|
||||
end
|
||||
|
@ -488,11 +488,11 @@ def test_equality_of_destroyed_records
|
||||
def test_hashing
|
||||
assert_equal [ Topic.find(1) ], [ Topic.find(2).topic ] & [ Topic.find(1) ]
|
||||
end
|
||||
|
||||
|
||||
def test_comparison
|
||||
topic_1 = Topic.create!
|
||||
topic_2 = Topic.create!
|
||||
|
||||
|
||||
assert_equal [topic_2, topic_1].sort, [topic_1, topic_2]
|
||||
end
|
||||
|
||||
@ -1835,4 +1835,29 @@ def test_attribute_names_on_table_not_exists
|
||||
def test_attribtue_names_on_abstract_class
|
||||
assert_equal [], AbstractCompany.attribute_names
|
||||
end
|
||||
|
||||
def test_cache_key_for_existing_record_is_not_timezone_dependent
|
||||
ActiveRecord::Base.time_zone_aware_attributes = true
|
||||
|
||||
Time.zone = "UTC"
|
||||
utc_key = Developer.first.cache_key
|
||||
|
||||
Time.zone = "EST"
|
||||
est_key = Developer.first.cache_key
|
||||
|
||||
assert_equal utc_key, est_key
|
||||
ensure
|
||||
ActiveRecord::Base.time_zone_aware_attributes = false
|
||||
end
|
||||
|
||||
def test_cache_key_format_for_existing_record_with_updated_at
|
||||
dev = Developer.first
|
||||
assert_equal "developers/#{dev.id}-#{dev.updated_at.utc.to_s(:number)}", dev.cache_key
|
||||
end
|
||||
|
||||
def test_cache_key_format_for_existing_record_with_nil_updated_at
|
||||
dev = Developer.first
|
||||
dev.update_attribute(:updated_at, nil)
|
||||
assert_match /\/#{dev.id}$/, dev.cache_key
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user