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
#callbacks ⇒ Object
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 |