class Batsir::Acceptors::AMQPAcceptor

Attributes

consumer[R]
consumer_source[W]

Public Class Methods

new(options={}) click to toggle source
Calls superclass method Batsir::Acceptors::Acceptor::new
# File lib/batsir/acceptors/amqp_acceptor.rb, line 12
def initialize(options={})
  super
  @bunny = Bunny.new(bunny_options).start
  @channel = @bunny.create_channel
  @q = @channel.queue( queue, :durable => durable )

  @consumer = consumer_source.call(self, @channel, @q)
  @consumer.on_delivery() do |delivery_info, metadata, payload|
    handle_delivery(payload)
  end
end

Public Instance Methods

handle_delivery(payload) click to toggle source
# File lib/batsir/acceptors/amqp_acceptor.rb, line 28
def handle_delivery(payload)
  start_filter_chain(payload)
end
process_message_error(message, error) click to toggle source
# File lib/batsir/acceptors/amqp_acceptor.rb, line 32
def process_message_error(message, error)
  log.error error.message
  nil
end
start() click to toggle source
# File lib/batsir/acceptors/amqp_acceptor.rb, line 24
def start
  @q.subscribe_with(@consumer)
end

Private Instance Methods

consumer_source() click to toggle source
# File lib/batsir/acceptors/amqp_acceptor.rb, line 39
def consumer_source
  @consumer_source ||= Batsir::AMQPConsumer.public_method(:new)
end