diff options
author | José Valim <jose.valim@gmail.com> | 2010-06-19 16:58:12 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-06-19 16:58:15 +0200 |
commit | a2b7fcb07ca47ca2285dee2afe97050532e94d07 (patch) | |
tree | 238b4e7c1e8a247495d34bc147a9cfb9e702996e /activesupport/lib/active_support/callbacks.rb | |
parent | 8db8c6f4ce3e8dd7f90553ab7866bf9991773b98 (diff) | |
download | rails-a2b7fcb07ca47ca2285dee2afe97050532e94d07.tar.gz rails-a2b7fcb07ca47ca2285dee2afe97050532e94d07.tar.bz2 rails-a2b7fcb07ca47ca2285dee2afe97050532e94d07.zip |
Change callbacks to automatically include DescendantsTracker and rename descendents to descendants.
Diffstat (limited to 'activesupport/lib/active_support/callbacks.rb')
-rw-r--r-- | activesupport/lib/active_support/callbacks.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/activesupport/lib/active_support/callbacks.rb b/activesupport/lib/active_support/callbacks.rb index 3ff33eea72..c4e1eb2c04 100644 --- a/activesupport/lib/active_support/callbacks.rb +++ b/activesupport/lib/active_support/callbacks.rb @@ -1,6 +1,6 @@ +require 'active_support/descendants_tracker' require 'active_support/core_ext/array/wrap' require 'active_support/core_ext/class/inheritable_attributes' -require 'active_support/core_ext/class/subclasses' require 'active_support/core_ext/kernel/reporting' require 'active_support/core_ext/kernel/singleton_class' @@ -85,6 +85,10 @@ module ActiveSupport module Callbacks extend Concern + included do + extend ActiveSupport::DescendantsTracker + end + def run_callbacks(kind, *args, &block) send("_run_#{kind}_callbacks", *args, &block) end @@ -428,7 +432,7 @@ module ActiveSupport options = filters.last.is_a?(Hash) ? filters.pop : {} filters.unshift(block) if block - ([self] + self.descendents).each do |target| + ([self] + self.descendants).each do |target| chain = target.send("_#{name}_callbacks") yield chain, type, filters, options target.__define_runner(name) @@ -502,7 +506,7 @@ module ActiveSupport def reset_callbacks(symbol) callbacks = send("_#{symbol}_callbacks") - self.descendents.each do |target| + self.descendants.each do |target| chain = target.send("_#{symbol}_callbacks") callbacks.each { |c| chain.delete(c) } target.__define_runner(symbol) |