Module: Jefe::Emitter

Included in:
EM, Jefe::EM::ProcessHandler
Defined in:
lib/jefe/emitter.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



2
3
4
# File 'lib/jefe/emitter.rb', line 2

def self.included(klass)
	klass.extend(ClassMethods)
end

Instance Method Details

#callbacksObject



5
6
7
# File 'lib/jefe/emitter.rb', line 5

def callbacks
	@callbacks ||= {}
end

#emit(name, *args) ⇒ Object



12
13
14
15
# File 'lib/jefe/emitter.rb', line 12

def emit(name, *args)
	callbacks[name] ||= []
	callbacks[name].each { |cb| cb.call(*args) }
end

#on(name, &cb) ⇒ Object



8
9
10
11
# File 'lib/jefe/emitter.rb', line 8

def on(name, &cb)
	callbacks[name] ||= []
	callbacks[name] << cb
end