class Pebbles::River::Message
Attributes
delivery_info[R]
payload[R]
queue[R]
Public Class Methods
deserialize_payload(content)
click to toggle source
# File lib/pebbles/river/message.rb, line 21 def self.deserialize_payload(content) if content begin return JSON.parse(content) rescue => e raise InvalidPayloadError.new(e.message, content) end end end
new(content, delivery_info, queue = nil)
click to toggle source
# File lib/pebbles/river/message.rb, line 31 def initialize(content, delivery_info, queue = nil) @queue = queue @delivery_info = delivery_info @payload = self.class.deserialize_payload(content) @replied = false end
Public Instance Methods
==(other)
click to toggle source
# File lib/pebbles/river/message.rb, line 38 def ==(other) other && other.is_a?(Message) && other.payload == @payload end
ack()
click to toggle source
# File lib/pebbles/river/message.rb, line 48 def ack if !@replied && (tag = delivery_tag) @queue.channel.ack(tag) @replied = true end end
delivery_tag()
click to toggle source
# File lib/pebbles/river/message.rb, line 44 def delivery_tag @delivery_info.delivery_tag if @delivery_info end
nack()
click to toggle source
# File lib/pebbles/river/message.rb, line 55 def nack if !@replied && (tag = delivery_tag) @queue.channel.nack(tag, false, true) @replied = true end end