From 10bac29b330ddda69102d43b77a1e7dba8741c45 Mon Sep 17 00:00:00 2001 From: Bogdan Gusiev Date: Wed, 22 Feb 2012 17:43:13 +0200 Subject: AS::Callbacks: deprecate rescuable option --- activesupport/lib/active_support/callbacks.rb | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) (limited to 'activesupport/lib/active_support') diff --git a/activesupport/lib/active_support/callbacks.rb b/activesupport/lib/active_support/callbacks.rb index 6de49409e5..6e36edee4f 100644 --- a/activesupport/lib/active_support/callbacks.rb +++ b/activesupport/lib/active_support/callbacks.rb @@ -307,7 +307,6 @@ module ActiveSupport @name = name @config = { :terminator => "false", - :rescuable => false, :scope => [ :kind ] }.merge(config) end @@ -317,35 +316,16 @@ module ActiveSupport method << "value = nil" method << "halted = false" - callbacks = yielding + callbacks = "value = yield if block_given? && !halted" reverse_each do |callback| callbacks = callback.apply(callbacks) end method << callbacks - method << "raise rescued_error if rescued_error" if config[:rescuable] method << "halted ? false : (block_given? ? value : true)" method.flatten.compact.join("\n") end - # Returns part of method that evaluates the callback block - def yielding - method = [] - if config[:rescuable] - method << "rescued_error = nil" - method << "begin" - end - - method << "value = yield if block_given? && !halted" - - if config[:rescuable] - method << "rescue Exception => e" - method << "rescued_error = e" - method << "end" - end - method.join("\n") - end - end module ClassMethods @@ -508,11 +488,6 @@ module ActiveSupport # if callback chain was terminated or not. # Option makes sence only when :terminator option is specified. # - # * :rescuable - By default, after filters are not executed if - # the given block or a before filter raises an error. By setting this option - # to true exception raised by given block is stored and after - # executing all the after callbacks the stored exception is raised. - # # * :scope - Indicates which methods should be executed when an object # is used as a callback. # -- cgit v1.2.3