module Pith::Observable

Public Instance Methods

add_observer(observer, signal = :update) click to toggle source
# File lib/pith/observable.rb, line 5
def add_observer(observer, signal = :update)
  observer_map[observer] = signal
end
notify_observers() click to toggle source
# File lib/pith/observable.rb, line 13
def notify_observers
  observer_map.each do |observer, signal|
    observer.send(signal)
  end
end
remove_observer(observer) click to toggle source
# File lib/pith/observable.rb, line 9
def remove_observer(observer)
  observer_map.delete(observer)
end

Private Instance Methods

observer_map() click to toggle source
# File lib/pith/observable.rb, line 21
def observer_map
  @observer_map ||= {}
end