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