diff options
Diffstat (limited to 'activemodel/lib')
-rw-r--r-- | activemodel/lib/active_model/observer_array.rb | 34 | ||||
-rw-r--r-- | activemodel/lib/active_model/observing.rb | 5 |
2 files changed, 3 insertions, 36 deletions
diff --git a/activemodel/lib/active_model/observer_array.rb b/activemodel/lib/active_model/observer_array.rb index f3b5811b81..b8aa9cc1e2 100644 --- a/activemodel/lib/active_model/observer_array.rb +++ b/activemodel/lib/active_model/observer_array.rb @@ -48,7 +48,7 @@ module ActiveModel set_enablement(true, observers, &block) end - protected + private def observer_class_for(observer) return observer if observer.is_a?(Class) @@ -61,37 +61,13 @@ module ActiveModel end end - def start_transaction - disabled_observer_stack.push(disabled_observers.dup) - each_subclass_array do |array| - array.start_transaction - end - end - - def disabled_observer_stack - @disabled_observer_stack ||= [] - end - - def end_transaction - @disabled_observers = disabled_observer_stack.pop - each_subclass_array do |array| - array.end_transaction - end - end - def transaction - start_transaction + orig_disabled_observers = disabled_observers.dup begin yield ensure - end_transaction - end - end - - def each_subclass_array - model_class.subclasses.each do |subclass| - yield self.class.for(subclass) + @disabled_observers = orig_disabled_observers end end @@ -116,10 +92,6 @@ module ActiveModel disabled_observers << klass end end - - each_subclass_array do |array| - array.set_enablement(enabled, observers) - end end end end diff --git a/activemodel/lib/active_model/observing.rb b/activemodel/lib/active_model/observing.rb index ba6be46670..e1a2ce218d 100644 --- a/activemodel/lib/active_model/observing.rb +++ b/activemodel/lib/active_model/observing.rb @@ -70,10 +70,6 @@ module ActiveModel observer_instances.size end - def subclasses - @subclasses ||= [] - end - protected def instantiate_observer(observer) #:nodoc: # string/symbol @@ -93,7 +89,6 @@ module ActiveModel # Notify observers when the observed class is subclassed. def inherited(subclass) super - subclasses << subclass notify_observers :observed_class_inherited, subclass end end |