Class: ActionPubsub::Exchanges
- Defined in:
- lib/action_pubsub/exchanges.rb
Instance Method Summary collapse
- #[](val) ⇒ Object
- #register_exchange(exchange_name) ⇒ Object
- #register_queue(exchange_name, subscriber_name) ⇒ Object
Methods inherited from Registry
Instance Method Details
#[](val) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/action_pubsub/exchanges.rb', line 14 def [](val) return super(val) if key?(val) add(val){ ::ActionPubsub::Exchanges.new } super(val) end |
#register_exchange(exchange_name) ⇒ Object
9 10 11 12 |
# File 'lib/action_pubsub/exchanges.rb', line 9 def register_exchange(exchange_name) add(exchange_name) { ::ActionPubsub::Exchanges.new } self[exchange_name] end |
#register_queue(exchange_name, subscriber_name) ⇒ Object
3 4 5 6 7 |
# File 'lib/action_pubsub/exchanges.rb', line 3 def register_queue(exchange_name, subscriber_name) queue_name = [exchange_name, subscriber_name].join("/") queue_exists = self[exchange_name].all.any?{ |queue| queue.name == queue_name } self[exchange_name].add(subscriber_name) { ::ActionPubsub::Queue.spawn(queue_name) } unless queue_exists end |