class MessageDriver::Adapters::BunnyAdapter::Subscription::MessageHandler

Attributes

subscription[RW]

Public Class Methods

new(subscription) click to toggle source
# File lib/message_driver/adapters/bunny_adapter.rb, line 186
def initialize(subscription)
  @subscription = subscription
end

Public Instance Methods

call(*message_args) click to toggle source
# File lib/message_driver/adapters/bunny_adapter.rb, line 190
def call(*message_args)
  message = sub_ctx.args_to_message(*message_args, destination)
  consumer.call(message)
rescue => e
  error_handler.call(e, message) unless error_handler.nil?
end
nack_message(e, message) click to toggle source
# File lib/message_driver/adapters/bunny_adapter.rb, line 197
def nack_message(e, message)
  return if message.nil?
  requeue = true
  if e.is_a?(DontRequeue) || (options[:retry_redelivered] == false && message.redelivered?)
    requeue = false
  end
  if !sub_ctx.nil? && sub_ctx.valid?
    begin
      sub_ctx.nack_message(message, requeue: requeue)
    rescue => e
      logger.error exception_to_str(e)
    end
  end
end