aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2012-07-20 06:30:19 -0700
committerRafael Mendonça França <rafaelmfranca@gmail.com>2012-07-20 06:30:19 -0700
commitf3e4d2097d5f2218e86afd8acf1a3b0574798018 (patch)
tree8f139a46e8a423ddb0f2b5d3431cb340ea357fac /actionpack/lib
parente1cfa6e0705f37b5f8cb885380f3a47405c24a9d (diff)
parent35fe3107a39271c9694e5094c1352c30463582e4 (diff)
downloadrails-f3e4d2097d5f2218e86afd8acf1a3b0574798018.tar.gz
rails-f3e4d2097d5f2218e86afd8acf1a3b0574798018.tar.bz2
rails-f3e4d2097d5f2218e86afd8acf1a3b0574798018.zip
Merge pull request #7099 from f1sherman/sweeper-clean-up-if-exception-raised
Clean up Sweeper controller accessor when an Error is raised
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_controller/caching/sweeping.rb9
1 files changed, 7 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/caching/sweeping.rb b/actionpack/lib/action_controller/caching/sweeping.rb
index 39da15e26a..73291ce083 100644
--- a/actionpack/lib/action_controller/caching/sweeping.rb
+++ b/actionpack/lib/action_controller/caching/sweeping.rb
@@ -68,14 +68,14 @@ module ActionController #:nodoc:
def after(controller)
self.controller = controller
callback(:after) if controller.perform_caching
- # Clean up, so that the controller can be collected after this request
- self.controller = nil
end
def around(controller)
before(controller)
yield
after(controller)
+ ensure
+ clean_up
end
protected
@@ -90,6 +90,11 @@ module ActionController #:nodoc:
end
private
+ def clean_up
+ # Clean up, so that the controller can be collected after this request
+ self.controller = nil
+ end
+
def callback(timing)
controller_callback_method_name = "#{timing}_#{controller.controller_name.underscore}"
action_callback_method_name = "#{controller_callback_method_name}_#{controller.action_name}"