class Synapses::Contract::Queue

@author Alexander Semyonov <al@semyonov.us>

Attributes

channel[RW]

@return [AMQP::Channel]

name[RW]

@return [String]

options[RW]

@return [Hash] see {AMQP::Queue#initialize}

Public Class Methods

new(name, options = {}) click to toggle source

@param [String] name @param [Hash] options see {AMQP::Queue#initialize}

# File lib/synapses/contract/queue.rb, line 17
def initialize(name, options = {})
  @name = name
  @bind = options.delete('bind') { raise "Exchange :bind is not specified for queue #{name}" }
  @options = options || {}
end

Public Instance Methods

connect(channel=self.channel) click to toggle source

@return [AMQP::Queue]

# File lib/synapses/contract/queue.rb, line 30
def connect(channel=self.channel)
  @queue = AMQP::Queue.new(channel, name, options)
end
connected?() click to toggle source

@return [Boolean]

# File lib/synapses/contract/queue.rb, line 35
def connected?
  !!@queue
end
queue(channel=self.channel) click to toggle source

@param [AMQP::Channel] channel @return [AMQP::Queue]

# File lib/synapses/contract/queue.rb, line 41
def queue(channel=self.channel)
  connect(channel) unless connected?
  @queue
end