add_listener(event, &listener)
click to toggle source
def add_listener(event, &listener)
@listeners[event.to_s] << listener
end
emit(event, *args)
click to toggle source
def emit(event, *args)
@listeners[event.to_s].dup.each do |listener|
listener.call(*args)
end
end
listener_count(event)
click to toggle source
def listener_count(event)
return 0 unless @listeners.has_key?(event.to_s)
@listeners[event.to_s].size
end
listeners(event)
click to toggle source
def listeners(event)
@listeners[event.to_s]
end
on(event, &listener)
click to toggle source
def on(event, &listener)
add_listener(event, &listener)
end
remove_all_listeners(event = nil)
click to toggle source
def remove_all_listeners(event = nil)
if event
@listeners.delete(event.to_s)
else
@listeners.clear
end
end
remove_listener(event, &listener)
click to toggle source
def remove_listener(event, &listener)
@listeners[event.to_s].delete(listener)
end