diff options
author | Matthew Draper <matthew@trebex.net> | 2018-04-12 10:44:39 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-12 10:44:39 -0400 |
commit | 77e3b4faa4c092212ceed0dc93e8eade33c0b190 (patch) | |
tree | 03c015baa161b0f79227d095a9679f2d5b21e4c4 /activesupport/lib/active_support | |
parent | 2a54f9963eae0592f348b37996e3b9eef85b5b63 (diff) | |
parent | 4efba09e88c5f4cdd78102c1d43ceea2c242a435 (diff) | |
download | rails-77e3b4faa4c092212ceed0dc93e8eade33c0b190.tar.gz rails-77e3b4faa4c092212ceed0dc93e8eade33c0b190.tar.bz2 rails-77e3b4faa4c092212ceed0dc93e8eade33c0b190.zip |
Merge pull request #31913 from rywall/define-callbacks-desc
Define callbacks on descendants.
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r-- | activesupport/lib/active_support/callbacks.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/callbacks.rb b/activesupport/lib/active_support/callbacks.rb index 9a3728d986..a1b841ec3d 100644 --- a/activesupport/lib/active_support/callbacks.rb +++ b/activesupport/lib/active_support/callbacks.rb @@ -809,7 +809,9 @@ module ActiveSupport names.each do |name| name = name.to_sym - set_callbacks name, CallbackChain.new(name, options) + ([self] + ActiveSupport::DescendantsTracker.descendants(self)).each do |target| + target.set_callbacks name, CallbackChain.new(name, options) + end module_eval <<-RUBY, __FILE__, __LINE__ + 1 def _run_#{name}_callbacks(&block) |