diff options
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/lib/active_record/observer.rb | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/activerecord/lib/active_record/observer.rb b/activerecord/lib/active_record/observer.rb index a09c392f9d..8b011ad9af 100644 --- a/activerecord/lib/active_record/observer.rb +++ b/activerecord/lib/active_record/observer.rb @@ -90,15 +90,11 @@ module ActiveRecord # class Observer < ActiveModel::Observer - def initialize - super - observed_descendants.each { |klass| add_observer!(klass) } - end - protected - def observed_descendants - observed_classes.map { |klass| klass.descendants }.flatten + def observed_classes + klasses = super + klasses + klasses.map { |klass| klass.descendants }.flatten end def add_observer!(klass) |