class Observed::EventBus
Public Class Methods
new(args={})
click to toggle source
# File lib/observed/event_bus.rb, line 6 def initialize(args={}) @bus = Observed::BasicEventBus.new @receives = {} @task_factory = args[:task_factory] || fail("The parameter :task_factory is missing in args(#{args}") @mutex = ::Mutex.new end
Public Instance Methods
emit(tag, *params)
click to toggle source
# File lib/observed/event_bus.rb, line 12 def emit(tag, *params) @task_factory.task { |*params| @bus.emit tag, *params params } end
receive(pattern)
click to toggle source
# File lib/observed/event_bus.rb, line 18 def receive(pattern) task = @task_factory.mutable_task {|data, options| [data, options] } @bus.on_receive(pattern) do |*params| task.now(*params) end task end