From d8b25884b6b12c2da2a3af1a2095d6e8a9f014ff Mon Sep 17 00:00:00 2001 From: wangjohn Date: Wed, 17 Apr 2013 17:13:46 -0400 Subject: Refactored the storage of a temporary version of the local cache into its own method. --- .../lib/active_support/cache/strategy/local_cache.rb | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'activesupport') diff --git a/activesupport/lib/active_support/cache/strategy/local_cache.rb b/activesupport/lib/active_support/cache/strategy/local_cache.rb index 157053ee4d..392c9283d7 100644 --- a/activesupport/lib/active_support/cache/strategy/local_cache.rb +++ b/activesupport/lib/active_support/cache/strategy/local_cache.rb @@ -58,13 +58,7 @@ module ActiveSupport # Use a local cache for the duration of block. def with_local_cache - save_val = LocalCacheRegistry.cache_for(local_cache_key) - begin - LocalCacheRegistry.set_cache_for(local_cache_key, LocalStore.new) - yield - ensure - LocalCacheRegistry.set_cache_for(local_cache_key, save_val) - end + use_temporary_local_cache(LocalStore.new) { yield } end #-- @@ -172,9 +166,13 @@ module ActiveSupport end def bypass_local_cache + use_temporary_local_cache(nil) { yield } + end + + def use_temporary_local_cache(temporary_cache) save_cache = LocalCacheRegistry.cache_for(local_cache_key) begin - LocalCacheRegistry.set_cache_for(local_cache_key, nil) + LocalCacheRegistry.set_cache_for(local_cache_key, temporary_cache) yield ensure LocalCacheRegistry.set_cache_for(local_cache_key, save_cache) -- cgit v1.2.3