module Publican
Constants
- NoListenersError
Public Instance Methods
on(*events, &block)
click to toggle source
# File lib/publican.rb, line 4 def on(*events, &block) @_publican_listeners ||= {} events.each do |event| (@_publican_listeners[event] ||= []) << block end self end
Protected Instance Methods
publish(event, *args)
click to toggle source
# File lib/publican.rb, line 16 def publish(event, *args) listeners = @_publican_listeners && @_publican_listeners[event] || [] listeners.each { |listener| listener.call(*args) } !listeners.empty? end
publish!(event, *args)
click to toggle source
# File lib/publican.rb, line 22 def publish!(event, *args) publish(event, *args) or raise NoListenersError, "No listeners are listening for event #{event}" end