mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
commit
a74041d483
3 changed files with 37 additions and 9 deletions
|
@ -1,4 +1,8 @@
|
|||
* Allow you to pass `prepend: false` to protect_from_forgery to have the
|
||||
* Deprecate all *_filter callbacks in favor of *_action callbacks.
|
||||
|
||||
*Rafael Mendonça França*
|
||||
|
||||
* Allow you to pass `prepend: false` to protect_from_forgery to have the
|
||||
verification callback appended instead of prepended to the chain.
|
||||
This allows you to let the verification step depend on prior callbacks.
|
||||
Example:
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
require 'active_support/deprecation'
|
||||
|
||||
module AbstractController
|
||||
module Callbacks
|
||||
extend ActiveSupport::Concern
|
||||
|
@ -65,7 +67,11 @@ module AbstractController
|
|||
skip_after_action(*names)
|
||||
skip_around_action(*names)
|
||||
end
|
||||
alias_method :skip_filter, :skip_action_callback
|
||||
|
||||
def skip_filter(*names)
|
||||
ActiveSupport::Deprecation.warn("#{callback}_filter is deprecated and will removed in Rails 5.1. Use #{callback}_action instead.")
|
||||
skip_action_callback(*names)
|
||||
end
|
||||
|
||||
# Take callback names and an optional callback proc, normalize them,
|
||||
# then call the block with each callback. This allows us to abstract
|
||||
|
@ -180,14 +186,22 @@ module AbstractController
|
|||
set_callback(:process_action, callback, name, options)
|
||||
end
|
||||
end
|
||||
alias_method :"#{callback}_filter", :"#{callback}_action"
|
||||
|
||||
define_method "#{callback}_filter" do |*names, &blk|
|
||||
ActiveSupport::Deprecation.warn("#{callback}_filter is deprecated and will removed in Rails 5.1. Use #{callback}_action instead.")
|
||||
send("#{callback}_action", *names, &blk)
|
||||
end
|
||||
|
||||
define_method "prepend_#{callback}_action" do |*names, &blk|
|
||||
_insert_callbacks(names, blk) do |name, options|
|
||||
set_callback(:process_action, callback, name, options.merge(:prepend => true))
|
||||
end
|
||||
end
|
||||
alias_method :"prepend_#{callback}_filter", :"prepend_#{callback}_action"
|
||||
|
||||
define_method "prepend_#{callback}_filter" do |*names, &blk|
|
||||
ActiveSupport::Deprecation.warn("prepend_#{callback}_filter is deprecated and will removed in Rails 5.1. Use prepend_#{callback}_action instead.")
|
||||
send("prepend_#{callback}_action", *names, &blk)
|
||||
end
|
||||
|
||||
# Skip a before, after or around callback. See _insert_callbacks
|
||||
# for details on the allowed parameters.
|
||||
|
@ -196,11 +210,19 @@ module AbstractController
|
|||
skip_callback(:process_action, callback, name, options)
|
||||
end
|
||||
end
|
||||
alias_method :"skip_#{callback}_filter", :"skip_#{callback}_action"
|
||||
|
||||
define_method "skip_#{callback}_filter" do |*names, &blk|
|
||||
ActiveSupport::Deprecation.warn("skip_#{callback}_filter is deprecated and will removed in Rails 5.1. Use skip_#{callback}_action instead.")
|
||||
send("skip_#{callback}_action", *names, &blk)
|
||||
end
|
||||
|
||||
# *_action is the same as append_*_action
|
||||
alias_method :"append_#{callback}_action", :"#{callback}_action"
|
||||
alias_method :"append_#{callback}_filter", :"#{callback}_action"
|
||||
|
||||
define_method "append_#{callback}_filter" do |*names, &blk|
|
||||
ActiveSupport::Deprecation.warn("append_#{callback}_filter is deprecated and will removed in Rails 5.1. Use append_#{callback}_action instead.")
|
||||
send("append_#{callback}_action", *names, &blk)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -267,9 +267,11 @@ module AbstractController
|
|||
end
|
||||
|
||||
class AliasedCallbacks < ControllerWithCallbacks
|
||||
before_filter :first
|
||||
after_filter :second
|
||||
around_filter :aroundz
|
||||
ActiveSupport::Deprecation.silence do
|
||||
before_filter :first
|
||||
after_filter :second
|
||||
around_filter :aroundz
|
||||
end
|
||||
|
||||
def first
|
||||
@text = "Hello world"
|
||||
|
|
Loading…
Reference in a new issue