aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activemodel/lib/active_model/observing.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/activemodel/lib/active_model/observing.rb b/activemodel/lib/active_model/observing.rb
index dde3a882cf..f09bdca9d1 100644
--- a/activemodel/lib/active_model/observing.rb
+++ b/activemodel/lib/active_model/observing.rb
@@ -48,6 +48,7 @@ module ActiveModel
observers.each { |o| instantiate_observer(o) }
end
+ # Add a new Observer to the pool
def add_observer(observer)
unless observer.respond_to? :update
raise ArgumentError, "observer needs to respond to `update'"
@@ -55,12 +56,14 @@ module ActiveModel
observer_instances << observer
end
+ # Notify list of observers of a change
def notify_observers(*arg)
for observer in observer_instances
observer.update(*arg)
end
end
+ # Total number of observers
def count_observers
observer_instances.size
end