Class: Contest::Driver::DriverEvent

Inherits:
Object
  • Object
show all
Defined in:
lib/contest/driver/driver_event.rb

Direct Known Subclasses

DriverBase

Instance Method Summary collapse

Constructor Details

#initializeDriverEvent

Returns a new instance of DriverEvent.



11
12
13
# File 'lib/contest/driver/driver_event.rb', line 11

def initialize
  @callbacks = {}
end

Instance Method Details

#off(type, proc) ⇒ Object



18
19
20
21
# File 'lib/contest/driver/driver_event.rb', line 18

def off(type, proc)
  @callbacks[type] = [] unless @callbacks.has_key?(type)
  @callbacks[type].delete proc
end

#on(type, proc) ⇒ Object



14
15
16
17
# File 'lib/contest/driver/driver_event.rb', line 14

def on(type, proc)
  @callbacks[type] = [] unless @callbacks.has_key?(type)
  @callbacks[type].push proc
end

#trigger(type, *params) ⇒ Object



22
23
24
25
26
27
# File 'lib/contest/driver/driver_event.rb', line 22

def trigger(type, *params)
  @callbacks[type] = [] unless @callbacks.has_key?(type)
  @callbacks[type].each do |proc|
    proc.call *params
  end
end