Class: Seamless::InmemoryMessageBroker

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/seamless/messagebroker/inmemory_message_broker.rb

Instance Method Summary collapse

Constructor Details

#initializeInmemoryMessageBroker

Returns a new instance of InmemoryMessageBroker.



10
11
12
# File 'lib/seamless/messagebroker/inmemory_message_broker.rb', line 10

def initialize 
	@listeners={}
end

Instance Method Details

#register_listener(type, listener) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/seamless/messagebroker/inmemory_message_broker.rb', line 14

def register_listener(type,listener)
			array = @listeners[type]
			if array==nil
 array=[]
 @listeners[type]=array
			end
			array << listener
end

#send(req, type, obj) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/seamless/messagebroker/inmemory_message_broker.rb', line 29

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

#unregister_listener(type, listener) ⇒ Object



23
24
25
26
# File 'lib/seamless/messagebroker/inmemory_message_broker.rb', line 23

def unregister_listener(type,listener)
	array = @listeners[type]
	array.delete_if { |a| a == listener } if array
end