class ActionPubsub::Exchanges

Public Instance Methods

[](val) click to toggle source
Calls superclass method
# 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) click to toggle source
# 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) click to toggle source
# 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