Sha256: 8d0836755d301c556bbbadd9ca861d263e50d5c6583aefb2c9e9cdcf3f8d4a9d
Contents?: true
Size: 801 Bytes
Versions: 1
Compression:
Stored size: 801 Bytes
Contents
module Resugan class Kernel def self.register(event, block) register_with_namespace("", event, block) end def self.register_with_namespace(namespace, event, block) @listener = {} unless @listener event = "#{namespace}_#{event}".to_sym unless @listener[event] @listener[event] = [block] else @listener[event] << block end self end def self.invoke(namespace, event, payload = []) event = "#{namespace}_#{event}".to_sym p payload if @listener[event] @listener[event].each do |listener| listener.call(payload.map { |p| p[:params] }) end end end def self.listeners @listener end def self.clear @listener.clear if @listener end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
resugan-0.1.0 | lib/resugan/kernel.rb |