Class: Synapse::EventBus::ClusteringEventBus
- Inherits:
-
Object
- Object
- Synapse::EventBus::ClusteringEventBus
- Defined in:
- lib/synapse/event_bus/clustering/event_bus.rb
Instance Method Summary collapse
- #initialize(cluster_selector) ⇒ undefined constructor
- #publish(*events) ⇒ undefined
- #subscribe(listener) ⇒ undefined
- #unsubscribe(listener) ⇒ undefined
Constructor Details
#initialize(cluster_selector) ⇒ undefined
6 7 8 9 |
# File 'lib/synapse/event_bus/clustering/event_bus.rb', line 6 def initialize(cluster_selector) @cluster_selector = cluster_selector @clusters = Set.new end |
Instance Method Details
#publish(*events) ⇒ undefined
14 15 16 17 18 19 20 |
# File 'lib/synapse/event_bus/clustering/event_bus.rb', line 14 def publish(*events) events.flatten! @clusters.each do |cluster| cluster.publish events end end |
#subscribe(listener) ⇒ undefined
26 27 28 |
# File 'lib/synapse/event_bus/clustering/event_bus.rb', line 26 def subscribe(listener) select_cluster(listener).subscribe(listener) end |
#unsubscribe(listener) ⇒ undefined
33 34 35 |
# File 'lib/synapse/event_bus/clustering/event_bus.rb', line 33 def unsubscribe(listener) select_cluster(listener).unsubscribe(listener) end |