diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2012-01-27 20:41:37 +0100 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2012-01-27 20:41:37 +0100 |
commit | 66b445c319a217df2c0ac94f55760594aab63600 (patch) | |
tree | 1634e96808281d7c556fde9c4c704e5e50c35c6c /activesupport | |
parent | 2e5ec3b3996231c3b770844608fb7b41c0d891e6 (diff) | |
download | rails-66b445c319a217df2c0ac94f55760594aab63600.tar.gz rails-66b445c319a217df2c0ac94f55760594aab63600.tar.bz2 rails-66b445c319a217df2c0ac94f55760594aab63600.zip |
Revert "Fix expanding cache key for single element arrays"
This reverts commit abe915f23777efe10f17d611bf5718ca855a0704.
This broke all existing keys and it's wrong anyway. The array is just there as a convenience option for building the string. It's intentional that [ "stuff"] and "stuff" generates the same key.
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/cache.rb | 2 | ||||
-rw-r--r-- | activesupport/test/caching_test.rb | 22 |
2 files changed, 8 insertions, 16 deletions
diff --git a/activesupport/lib/active_support/cache.rb b/activesupport/lib/active_support/cache.rb index 1a152c68df..5afc92059c 100644 --- a/activesupport/lib/active_support/cache.rb +++ b/activesupport/lib/active_support/cache.rb @@ -91,7 +91,7 @@ module ActiveSupport def retrieve_cache_key(key) case when key.respond_to?(:cache_key) then key.cache_key - when key.is_a?(Array) then ['Array', *key.map { |element| retrieve_cache_key(element) }].to_param + when key.is_a?(Array) then key.map { |element| retrieve_cache_key(element) }.to_param else key.to_param end.to_s end diff --git a/activesupport/test/caching_test.rb b/activesupport/test/caching_test.rb index 3f41f80c3a..c4c753caed 100644 --- a/activesupport/test/caching_test.rb +++ b/activesupport/test/caching_test.rb @@ -4,19 +4,19 @@ require 'active_support/cache' class CacheKeyTest < ActiveSupport::TestCase def test_expand_cache_key - assert_equal 'Array/1/2/true', ActiveSupport::Cache.expand_cache_key([1, '2', true]) - assert_equal 'name/Array/1/2/true', ActiveSupport::Cache.expand_cache_key([1, '2', true], :name) + assert_equal '1/2/true', ActiveSupport::Cache.expand_cache_key([1, '2', true]) + assert_equal 'name/1/2/true', ActiveSupport::Cache.expand_cache_key([1, '2', true], :name) end def test_expand_cache_key_with_rails_cache_id begin ENV['RAILS_CACHE_ID'] = 'c99' assert_equal 'c99/foo', ActiveSupport::Cache.expand_cache_key(:foo) - assert_equal 'c99/Array/foo', ActiveSupport::Cache.expand_cache_key([:foo]) - assert_equal 'c99/Array/foo/bar', ActiveSupport::Cache.expand_cache_key([:foo, :bar]) + assert_equal 'c99/foo', ActiveSupport::Cache.expand_cache_key([:foo]) + assert_equal 'c99/foo/bar', ActiveSupport::Cache.expand_cache_key([:foo, :bar]) assert_equal 'nm/c99/foo', ActiveSupport::Cache.expand_cache_key(:foo, :nm) - assert_equal 'nm/c99/Array/foo', ActiveSupport::Cache.expand_cache_key([:foo], :nm) - assert_equal 'nm/c99/Array/foo/bar', ActiveSupport::Cache.expand_cache_key([:foo, :bar], :nm) + assert_equal 'nm/c99/foo', ActiveSupport::Cache.expand_cache_key([:foo], :nm) + assert_equal 'nm/c99/foo/bar', ActiveSupport::Cache.expand_cache_key([:foo, :bar], :nm) ensure ENV['RAILS_CACHE_ID'] = nil end @@ -55,7 +55,7 @@ class CacheKeyTest < ActiveSupport::TestCase def key.cache_key :foo_key end - assert_equal 'Array/foo_key', ActiveSupport::Cache.expand_cache_key([key]) + assert_equal 'foo_key', ActiveSupport::Cache.expand_cache_key([key]) end def test_expand_cache_key_of_nil @@ -69,14 +69,6 @@ class CacheKeyTest < ActiveSupport::TestCase def test_expand_cache_key_of_true assert_equal 'true', ActiveSupport::Cache.expand_cache_key(true) end - - def test_expand_cache_key_of_one_element_array_different_than_key_of_element - element = 'foo' - array = [element] - element_cache_key = ActiveSupport::Cache.expand_cache_key(element) - array_cache_key = ActiveSupport::Cache.expand_cache_key(array) - assert_not_equal element_cache_key, array_cache_key - end end class CacheStoreSettingTest < ActiveSupport::TestCase |