Sha256: dfa22ef237c3f907c00733ea254c7a9d6ca8a52a66e6ea4b49dd1a9cdc7bf7fe
Contents?: true
Size: 439 Bytes
Versions: 4
Compression:
Stored size: 439 Bytes
Contents
module Vedeu module EventRepository extend self def handlers @handlers ||= Hash.new { |h, k| h[k] = [] }.merge(defaults) end def register(event, &block) handlers[event] << block end def trigger(event, *args) handlers[event].each do |handler| handler.call(*args) end end private def defaults { :_exit_ => [ proc { :exit } ], } end end end
Version data entries
4 entries across 4 versions & 1 rubygems