Class: ShellStrike::EventBus
- Inherits:
-
Object
- Object
- ShellStrike::EventBus
- Defined in:
- lib/shell_strike/event_bus.rb
Instance Method Summary collapse
Instance Method Details
#emit(event_name, *args) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/shell_strike/event_bus.rb', line 9 def emit(event_name, *args) raise ShellStrike::InvalidEvent unless event_name.is_a?(Symbol) return unless listeners[event_name].respond_to? :each listeners[event_name].each { |e| e.call(*args) } end |
#on(event_name, &block) ⇒ Object
2 3 4 5 6 7 |
# File 'lib/shell_strike/event_bus.rb', line 2 def on(event_name, &block) raise ShellStrike::InvalidEvent unless event_name.is_a?(Symbol) listeners[event_name] ||= [] listeners[event_name] << block end |