Class: MessageDriver::Adapters::BunnyAdapter::Subscription::MessageHandler

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/message_driver/adapters/bunny_adapter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(subscription) ⇒ MessageHandler

Returns a new instance of MessageHandler.



186
187
188
# File 'lib/message_driver/adapters/bunny_adapter.rb', line 186

def initialize(subscription)
  @subscription = subscription
end

Instance Attribute Details

#subscriptionObject

Returns the value of attribute subscription.



183
184
185
# File 'lib/message_driver/adapters/bunny_adapter.rb', line 183

def subscription
  @subscription
end

Instance Method Details

#call(*message_args) ⇒ Object



190
191
192
193
194
195
# 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) ⇒ Object



197
198
199
200
201
202
203
204
205
206
207
208
209
210
# 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