lib/amqp/client/message.rb in amqp-client-1.0.0 vs lib/amqp/client/message.rb in amqp-client-1.0.1

- old
+ new

@@ -1,15 +1,54 @@ # frozen_string_literal: true module AMQP - Message = Struct.new(:channel, :delivery_tag, :exchange_name, :routing_key, :properties, :body, :redelivered, :consumer_tag) do - def ack - channel.basic_ack(delivery_tag) - end + class Client + # A message delivered from the broker + # @!attribute channel + # @return [Connection::Channel] The channel the message was deliviered to + # @!attribute delivery_tag + # @return [Integer] The delivery tag of the message, used for acknowledge or reject the message + # @!attribute exchange_name + # @return [String] Name of the exchange the message was published to + # @!attribute routing_key + # @return [String] The routing key the message was published with + # @!attribute properties + # @return [Properties] + # @!attribute body + # @return [String] The message body + # @!attribute redelivered + # @return [Boolean] True if the message have been delivered before + # @!attribute consumer_tag + # @return [String] The tag of the consumer the message was deliviered to + # @return [nil] Nil if the message was polled and not deliviered to a consumer + Message = + Struct.new(:channel, :delivery_tag, :exchange_name, :routing_key, :properties, :body, :redelivered, :consumer_tag) do + # Acknowledge the message + # @return [nil] + def ack + channel.basic_ack(delivery_tag) + end - def reject(requeue: false) - channel.basic_reject(delivery_tag, requeue: requeue) - end - end + # Reject the message + # @param requeue [Boolean] If true the message will be put back into the queue again, ready to be redelivered + # @return [nil] + def reject(requeue: false) + channel.basic_reject(delivery_tag, requeue: requeue) + end + end - ReturnMessage = Struct.new(:reply_code, :reply_text, :exchange, :routing_key, :properties, :body) + # A published message returned by the broker due to some error + # @!attribute reply_code + # @return [Integer] Error code + # @!attribute reply_text + # @return [String] Description on why the message was returned + # @!attribute exchange + # @return [String] Name of the exchange the message was published to + # @!attribute routing_key + # @return [String] The routing key the message was published with + # @!attribute properties + # @return [Properties] + # @!attribute body + # @return [String] The message body + ReturnMessage = Struct.new(:reply_code, :reply_text, :exchange, :routing_key, :properties, :body) + end end