From 0cdce7f910708005acd99c80463e9efb3df942b0 Mon Sep 17 00:00:00 2001
From: Brad Murray <wyaeld@gmail.com>
Date: Thu, 17 Oct 2013 09:00:37 +1300
Subject: add a new local variable to track if digests are being stored, to
 ensure the cleanup works correctly

---
 actionview/lib/action_view/digestor.rb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/actionview/lib/action_view/digestor.rb b/actionview/lib/action_view/digestor.rb
index 6757d0cdd1..5570e2a8dc 100644
--- a/actionview/lib/action_view/digestor.rb
+++ b/actionview/lib/action_view/digestor.rb
@@ -37,11 +37,11 @@ module ActionView
 
         digest = klass.new(name, format, finder, options).digest
         # Store the actual digest if config.cache_template_loading is true
-        @@cache[cache_key] = digest if ActionView::Resolver.caching?
+        @@cache[cache_key] = stored_digest = digest if ActionView::Resolver.caching?
         digest
       ensure
         # something went wrong or ActionView::Resolver.caching? is false, make sure not to corrupt the @@cache
-        @@cache.delete_pair(cache_key, false) if pre_stored && !digest 
+        @@cache.delete_pair(cache_key, false) if pre_stored && !stored_digest 
       end
     end
 
-- 
cgit v1.2.3