Sha256: 2c9c2c6ae2c991a3c96cb9a91380268fdc8ee52fbe5fc83c37a158de090d93ad

Contents?: true

Size: 501 Bytes

Versions: 2

Compression:

Stored size: 501 Bytes

Contents

require 'kafka_session/message'
require 'forwardable'

class KafkaSession
  class DeliveredMessage
    extend Forwardable

    delegate [:topic, :partition, :offset, :key] => :raw_message
    delegate [:value, :session_id, :published_at] => :message

    attr_reader :message, :raw_message, :session

    def initialize(raw_message)
      @raw_message = raw_message
      @message     = Message.parse(raw_message.value)

      @session     = KafkaSession.new(id: message.session_id)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
kafka_session-0.2.0 lib/kafka_session/delivered_message.rb
kafka_session-0.1.0 lib/kafka_session/delivered_message.rb