module Captio::Emitter
Public Class Methods
included(base)
click to toggle source
# File lib/captio/emitter.rb, line 3 def self.included(base) prepended(base) end
prepended(base)
click to toggle source
# File lib/captio/emitter.rb, line 7 def self.prepended(base) base.extend ClassMethods end
Public Instance Methods
emit(event, *args)
click to toggle source
# File lib/captio/emitter.rb, line 22 def emit(event, *args) @listeners[event].each{ |l| l.call(*args) } if @listeners[event] end
on(event, &block)
click to toggle source
# File lib/captio/emitter.rb, line 11 def on(event, &block) if self.class.events.include?(event) @listeners ||= {} @listeners[event] ||= [] @listeners[event] << block true else false end end