Sha256: 032f9ca3829fde1ec3e1cb8647a771c6931e4f2f6193dce5b14d84112f20c4c2
Contents?: true
Size: 774 Bytes
Versions: 13
Compression:
Stored size: 774 Bytes
Contents
$LOAD_PATH.unshift File.expand_path("../../lib", __FILE__) require 'bundler' Bundler.setup(:default, :test) require "lolitra" class TestBus def initialize @handlers = {} @unmarshallers = {} end def publish_directly(message_key, message_payload) publish(@unmarshallers[message_key].unmarshall(message_payload)) end def publish(message) @handlers[message.class.name].each do |handler| handler.handle(message) end end def pull_subscribe(message_class, handler_class) subscribe(message_class, handler_class) end def subscribe(message_class, handler_class) @unmarshallers[message_class.message_key] = message_class @handlers[message_class.name] ||= [] @handlers[message_class.name] << handler_class end end
Version data entries
13 entries across 13 versions & 1 rubygems