class Liebre::Actor::Consumer::Core

Constants

OPTS

Attributes

callback_class[R]
consumer[R]
context[R]
resources[R]

Public Class Methods

new(consumer, resources, context, callback_class) click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 8
def initialize consumer, resources, context, callback_class
  @consumer       = consumer
  @resources      = resources
  @context        = context
  @callback_class = callback_class
end

Public Instance Methods

ack(info, opts) click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 34
def ack(info, opts)    queue.ack(info, opts);    end
clean() click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 42
def clean
  queue.delete
  exchange.delete
  dead_queue.delete
  dead_exchange.delete
end
consume(info, meta, payload) click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 26
def consume info, meta, payload
  callback = callback_class.new(consumer, info)

  handler.call(payload, meta, callback) do |error|
    callback.failed(error)
  end
end
failed(info, error) click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 38
def failed info, error
  queue.reject(info, {})
end
nack(info, opts) click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 35
def nack(info, opts)   queue.nack(info, opts);   end
reject(info, opts) click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 36
def reject(info, opts) queue.reject(info, opts); end
start() click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 15
def start
  queue.subscribe(OPTS) do |info, meta, payload|
    consumer.consume(info, meta, payload)
  end
  dead_queue
end
stop() click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 22
def stop
  chan.close
end

Private Instance Methods

chan() click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 67
def chan
  context.chan
end
dead_exchange() click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 63
def dead_exchange
  resources.dead_exchange
end
dead_queue() click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 59
def dead_queue
  resources.dead_queue
end
exchange() click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 55
def exchange
  resources.exchange
end
handler() click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 71
def handler
  context.handler
end
queue() click to toggle source
# File lib/liebre/actor/consumer/core.rb, line 51
def queue
  resources.queue
end