class Evented

Public Class Methods

new() click to toggle source
# File lib/evented/evented.rb, line 3
def initialize
  @@_callbacks ||= Hash.new { |hash, key| hash[key] = Array.new }
  @@_streams = []
end

Public Instance Methods

callbacks() click to toggle source
# File lib/evented/evented.rb, line 8
def callbacks
  @@_callbacks
end
emit(event, *args) click to toggle source
# File lib/evented/evented.rb, line 20
def emit(event, *args)
  @@_callbacks[event].each do |callback|
    callback.call(*args)
  end
end
on(event, &block) click to toggle source
# File lib/evented/evented.rb, line 16
def on(event, &block)
  @@_callbacks[event] << block
end
start() click to toggle source
# File lib/evented/evented.rb, line 26
def start
  @running = true
  while @running
    tick
  end
end
start_threaded() click to toggle source
# File lib/evented/evented.rb, line 33
def start_threaded
  Thread.new { start }
end
stop() click to toggle source
# File lib/evented/evented.rb, line 37
def stop
  @running = false
end
streams() click to toggle source
# File lib/evented/evented.rb, line 12
def streams
  @@_streams
end
tick() click to toggle source
# File lib/evented/evented.rb, line 41
def tick
  @@_streams.each do |stream|
    stream.handle_read
    stream.handle_write
  end
end