From 9e98f3f7e61dfce0a48948c8d296400af8bfaf21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Tue, 7 Feb 2017 12:24:46 -0300 Subject: [PATCH] Deprecate halt_and_display_warning_on_return_false --- activesupport/CHANGELOG.md | 4 ++++ activesupport/lib/active_support/callbacks.rb | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/activesupport/CHANGELOG.md b/activesupport/CHANGELOG.md index da78a0e057..37585b8c46 100644 --- a/activesupport/CHANGELOG.md +++ b/activesupport/CHANGELOG.md @@ -1,3 +1,7 @@ +* Deprecate `.halt_and_display_warning_on_return_false`. + + *Rafael Mendonça França* + * Remove deprecated behavior that halts callbacks when the return is false. *Rafael Mendonça França* diff --git a/activesupport/lib/active_support/callbacks.rb b/activesupport/lib/active_support/callbacks.rb index 2449cb06d8..480291c346 100644 --- a/activesupport/lib/active_support/callbacks.rb +++ b/activesupport/lib/active_support/callbacks.rb @@ -69,11 +69,18 @@ module Callbacks CALLBACK_FILTER_TYPES = [:before, :after, :around] - # If true, Active Record and Active Model callbacks returning +false+ will - # halt the entire callback chain and display a deprecation message. - # If false, callback chains will only be halted by calling +throw :abort+. - # Defaults to +true+. - mattr_accessor(:halt_and_display_warning_on_return_false, instance_writer: false) { true } + def self.halt_and_display_warning_on_return_false=(value) + + ActiveSupport::Deprecation.warn(<<-MSG.squish) + .halt_and_display_warning_on_return_false= is deprecated and will be removed in Rails 5.2. + MSG + end + + def self.halt_and_display_warning_on_return_false + ActiveSupport::Deprecation.warn(<<-MSG.squish) + .halt_and_display_warning_on_return_false is deprecated and will be removed in Rails 5.2. + MSG + end # Runs the callbacks for the given event. # -- GitLab