Class: GovukMessageQueueConsumer::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/govuk_message_queue_consumer/message.rb

Overview

Client code will receive an instance of this

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(delivery_info, headers, payload) ⇒ Message

Returns a new instance of Message.



6
7
8
9
10
# File 'lib/govuk_message_queue_consumer/message.rb', line 6

def initialize(delivery_info, headers, payload)
  @delivery_info = delivery_info
  @headers = headers
  @body = payload
end

Instance Attribute Details

#bodyObject (readonly)

Returns the value of attribute body.



12
13
14
# File 'lib/govuk_message_queue_consumer/message.rb', line 12

def body
  @body
end

#delivery_infoObject (readonly)

Returns the value of attribute delivery_info.



12
13
14
# File 'lib/govuk_message_queue_consumer/message.rb', line 12

def delivery_info
  @delivery_info
end

#headersObject (readonly)

Returns the value of attribute headers.



12
13
14
# File 'lib/govuk_message_queue_consumer/message.rb', line 12

def headers
  @headers
end

Instance Method Details

#ackObject



18
19
20
# File 'lib/govuk_message_queue_consumer/message.rb', line 18

def ack
  @delivery_info.channel.ack(@delivery_info.delivery_tag)
end

#body_dataObject



14
15
16
# File 'lib/govuk_message_queue_consumer/message.rb', line 14

def body_data
  @body_data ||= JSON.parse(@body)
end

#discardObject



26
27
28
# File 'lib/govuk_message_queue_consumer/message.rb', line 26

def discard
  @delivery_info.channel.reject(@delivery_info.delivery_tag, false)
end

#retryObject



22
23
24
# File 'lib/govuk_message_queue_consumer/message.rb', line 22

def retry
  @delivery_info.channel.reject(@delivery_info.delivery_tag, true)
end