Sha256: a02d0d1328d91b03c97673ef2ea4b22a51d145285c03ec861f6017b631999f33

Contents?: true

Size: 1.04 KB

Versions: 17

Compression:

Stored size: 1.04 KB

Contents

module Spacebunny
  module LiveStream
    class Message
      attr_reader  :live_stream, :sender_id, :channel_name, :delivery_info, :metadata, :payload

      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

      def ack(options = {})
        multiple = options.fetch :multiple, false
        @live_stream.acknowledge @delivery_info.delivery_tag, multiple
      end

      def nack(options = {})
        multiple = options.fetch :multiple, false
        requeue = options.fetch :requeue, false
        @live_stream.nack @delivery_info.delivery_tag, multiple, requeue
      end

      def from_api?
        !@metadata[:headers].nil? && @metadata[:headers]['x-from-sb-api']
      end

      private

      def set_sender_id_and_channel
        @sender_id, @channel_name = @delivery_info[:routing_key].split('.')
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
spacebunny-4.2.0 lib/spacebunny/live_stream/message.rb
spacebunny-4.1.1 lib/spacebunny/live_stream/message.rb
spacebunny-4.1.0 lib/spacebunny/live_stream/message.rb
spacebunny-4.0.0 lib/spacebunny/live_stream/message.rb
spacebunny-3.0.0 lib/spacebunny/live_stream/message.rb
spacebunny-2.0.0 lib/spacebunny/live_stream/message.rb
spacebunny-1.5.1 lib/spacebunny/live_stream/message.rb
spacebunny-1.5.0 lib/spacebunny/live_stream/message.rb
spacebunny-1.4.0 lib/spacebunny/live_stream/message.rb
spacebunny-1.3.0 lib/spacebunny/live_stream/message.rb
spacebunny-1.2.2 lib/spacebunny/live_stream/message.rb
spacebunny-1.2.1 lib/spacebunny/live_stream/message.rb
spacebunny-1.2.0 lib/spacebunny/live_stream/message.rb
spacebunny-1.1.2 lib/spacebunny/live_stream/message.rb
spacebunny-1.1.1 lib/spacebunny/live_stream/message.rb
spacebunny-1.1.0 lib/spacebunny/live_stream/message.rb
spacebunny-1.0.0 lib/spacebunny/live_stream/message.rb