From 49b0f9e3950a529dbab6e930a0bb44035d96484f Mon Sep 17 00:00:00 2001 From: Gonzalo Rodriguez Date: Sat, 23 Jul 2011 17:57:04 -0300 Subject: Fix ActiveSupport::Cache::FileStore#file_path_key does not work if initialized with Pathname Port from 3-1-stable --- activesupport/lib/active_support/cache/file_store.rb | 2 +- activesupport/test/caching_test.rb | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/activesupport/lib/active_support/cache/file_store.rb b/activesupport/lib/active_support/cache/file_store.rb index c4da04e532..f7c01948b4 100644 --- a/activesupport/lib/active_support/cache/file_store.rb +++ b/activesupport/lib/active_support/cache/file_store.rb @@ -16,7 +16,7 @@ module ActiveSupport def initialize(cache_path, options = nil) super(options) - @cache_path = cache_path + @cache_path = cache_path.to_s extend Strategy::LocalCache end diff --git a/activesupport/test/caching_test.rb b/activesupport/test/caching_test.rb index 8b3e4800c3..402c6695aa 100644 --- a/activesupport/test/caching_test.rb +++ b/activesupport/test/caching_test.rb @@ -521,6 +521,7 @@ class FileStoreTest < ActiveSupport::TestCase Dir.mkdir(cache_dir) unless File.exist?(cache_dir) @cache = ActiveSupport::Cache.lookup_store(:file_store, cache_dir, :expires_in => 60) @peek = ActiveSupport::Cache.lookup_store(:file_store, cache_dir, :expires_in => 60) + @cache_with_pathname = ActiveSupport::Cache.lookup_store(:file_store, Pathname.new(cache_dir), :expires_in => 60) end def teardown @@ -540,6 +541,12 @@ class FileStoreTest < ActiveSupport::TestCase key = @cache.send(:key_file_path, "views/index?id=1") assert_equal "views/index?id=1", @cache.send(:file_path_key, key) end + + def test_key_transformation_with_pathname + FileUtils.touch(File.join(cache_dir, "foo")) + key = @cache_with_pathname.send(:key_file_path, "views/index?id=1") + assert_equal "views/index?id=1", @cache_with_pathname.send(:file_path_key, key) + end end class MemoryStoreTest < ActiveSupport::TestCase -- cgit v1.2.3