Sha256: d5b1c15197e477a651416f3601d5d8ffbce6c176b4a0f3c0cc683cdbdb824ace
Contents?: true
Size: 797 Bytes
Versions: 1
Compression:
Stored size: 797 Bytes
Contents
# # implementation of the message broker which only dispatches # messages to internally registered listeners # # module Seamless class InmemoryMessageBroker include Singleton def initialize @listeners={} end def register_listener(type,listener) array = @listeners[type] if array==nil array=[] @listeners[type]=array end array << listener end def unregister_listener(type,listener) array = @listeners[type] array.delete_if { |a| a == listener } if array end def send (req,type,obj) array = @listeners[type] if array array.each do |listener| begin listener.call(req,type,obj) rescue => error puts $! raise error end end return true end false end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
seamless-1.0.0 | lib/seamless/messagebroker/inmemory_message_broker.rb |