class ShellStrike::EventBus
Public Instance Methods
emit(event_name, *args)
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
listeners()
click to toggle source
# File lib/shell_strike/event_bus.rb, line 18 def listeners @listeners ||= {} end