class Spacebunny::LiveStream::Message

Attributes

channel_name[R]
delivery_info[R]
live_stream[R]
metadata[R]
payload[R]
sender_id[R]

Public Class Methods

new(live_stream, options, delivery_info, metadata, payload) click to toggle source
# File lib/spacebunny/live_stream/message.rb, line 6
def initialize(live_stream, options, delivery_info, metadata, payload)
  @live_stream = live_stream
  @options = options
  @delivery_info = delivery_info
  @metadata = metadata
  @payload = payload

  set_sender_id_and_channel
end

Public Instance Methods

ack(options = {}) click to toggle source
# File lib/spacebunny/live_stream/message.rb, line 16
def ack(options = {})
  multiple = options.fetch :multiple, false
  @live_stream.acknowledge @delivery_info.delivery_tag, multiple
end
from_api?() click to toggle source
# File lib/spacebunny/live_stream/message.rb, line 27
def from_api?
  !@metadata[:headers].nil? && @metadata[:headers]['x-from-sb-api']
end
nack(options = {}) click to toggle source
# File lib/spacebunny/live_stream/message.rb, line 21
def nack(options = {})
  multiple = options.fetch :multiple, false
  requeue = options.fetch :requeue, false
  @live_stream.nack @delivery_info.delivery_tag, multiple, requeue
end

Private Instance Methods

set_sender_id_and_channel() click to toggle source
# File lib/spacebunny/live_stream/message.rb, line 33
def set_sender_id_and_channel
  @sender_id, @channel_name = @delivery_info[:routing_key].split('.')
end