Class: Arbiter
- Inherits:
-
Object
- Object
- Arbiter
- Defined in:
- lib/arbiter.rb
Direct Known Subclasses
Class Method Summary collapse
- .perform(message, metadata) ⇒ Object
- .publish(message, metadata) ⇒ Object
- .set_listeners(listeners) ⇒ Object
Class Method Details
.perform(message, metadata) ⇒ Object
2 3 4 5 6 7 8 9 |
# File 'lib/arbiter.rb', line 2 def self.perform(, ) = .to_sym if @message_table[] and ! @message_table[].empty? @message_table[].each do |listener| listener.notify(, ) end end end |
.publish(message, metadata) ⇒ Object
21 22 23 |
# File 'lib/arbiter.rb', line 21 def self.publish(, ) self.perform(, ) end |
.set_listeners(listeners) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/arbiter.rb', line 11 def self.set_listeners(listeners) @message_table = {} listeners.each do |listener| listener.subscribe_to.each do |channel| @message_table[channel] ||= [] @message_table[channel] << listener end end end |