diff options
-rw-r--r-- | activemodel/lib/active_model/observing.rb | 3 |
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 |