module Kamaze::Project::Concern::Observable::ClassMethods
Class methods
Public Instance Methods
add_observer(observer_class, func = :handle_event)
click to toggle source
Add observer.
@param [Class] observer_class
@return [self]
# File lib/kamaze/project/concern/observable.rb, line 59 def add_observer(observer_class, func = :handle_event) func = func.to_sym unless observer_class.instance_methods.include?(func) m = "#<#{observer_class}> does not respond to `#{func}'" raise NoMethodError, m end observer_peers[observer_class] = func self end
delete_observer(observer_class)
click to toggle source
Remove observer, so that it will no longer receive notifications.
@param [Class] observer_class
@return [self]
# File lib/kamaze/project/concern/observable.rb, line 77 def delete_observer(observer_class) self.tap do observer_peers.delete(observer_class) end end
delete_observers()
click to toggle source
Remove all observers.
@return [self]
# File lib/kamaze/project/concern/observable.rb, line 86 def delete_observers self.tap { observers.clear } end
Protected Instance Methods
observer_peers()
click to toggle source
@return [Hash]
# File lib/kamaze/project/concern/observable.rb, line 93 def observer_peers @observer_peers ||= {} end