def register_binding(queue_name, options={})
      name = queue_name.to_s
      opts = options.symbolize_keys
      exchange = (opts[:exchange] || name).to_s
      key = (opts[:key] || name).to_s
      (bindings[name] ||= []) << {:exchange => exchange, :key => key}
      register_exchange(exchange) unless exchanges.include?(exchange)
      queues = exchanges[exchange][:queues]
      queues << name unless queues.include?(name)
    end
def register_binding(queue_name, options={})
      name = queue_name.to_s
      opts = options.symbolize_keys
      exchange = (opts[:exchange] || name).to_s
      key = (opts[:key] || name).to_s
      (bindings[name] ||= []) << {:exchange => exchange, :key => key}
      register_exchange(exchange) unless exchanges.include?(exchange)
      queues = exchanges[exchange][:queues]
      queues << name unless queues.include?(name)
    end
register an additional binding for an already configured queue _name_ and an _options_ hash:
 [<tt>:exchange</tt>]
   the name of the exchange this queue will be bound to (defaults to the name of the queue)
 [<tt>:key</tt>]
   the binding key (defaults to the name of the queue)
 automatically registers the specified exchange if it hasn't been registered yet