Skip to content

Instantly share code, notes, and snippets.

@evilstreak
Created August 9, 2013 20:56
Show Gist options
  • Save evilstreak/6197114 to your computer and use it in GitHub Desktop.
Save evilstreak/6197114 to your computer and use it in GitHub Desktop.
module Eventable
def listen(event, method)
eventable_listeners[event] << method
end
def emit(event, *args)
eventable_listeners[event].each do |method|
method.call(*args)
end
end
private
def eventable_listeners
@eventable_listeners ||= Hash.new { |hash, key| hash[key] = [] }
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment