class Eventr::Publisher

Attributes

block[R]
events[R]

Public Class Methods

new(&block) click to toggle source
# File lib/eventr/actors.rb, line 123
def initialize(&block)
  @block   = block || method(:default_loop)
  @events  = Queue.new
end

Public Instance Methods

main() click to toggle source
# File lib/eventr/actors.rb, line 133
def main
  block.call(events)
end
pop(non_block = false) click to toggle source
# File lib/eventr/actors.rb, line 128
def pop(non_block = false)
  events.pop(non_block)
end
Also aliased as: shift
publish(event)
Alias for: push
push(event) click to toggle source
# File lib/eventr/actors.rb, line 137
def push(event)
  @events << event
end
Also aliased as: publish
shift(non_block = false)
Alias for: pop

Private Instance Methods

default_loop(events) click to toggle source
# File lib/eventr/actors.rb, line 142
def default_loop(events)
  loop { Thread.stop }
end