Sha256: 8689e42841f0d49fea5344c2dda969d657e4a2b739033d7a47fcf114113f447f

Contents?: true

Size: 513 Bytes

Versions: 7

Compression:

Stored size: 513 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

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

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

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
kafka_session-0.5.0 lib/kafka_session/delivered_message.rb
kafka_session-0.4.1 lib/kafka_session/delivered_message.rb
kafka_session-0.4.0 lib/kafka_session/delivered_message.rb
kafka_session-0.4.0.pre.alpha lib/kafka_session/delivered_message.rb
kafka_session-0.3.1 lib/kafka_session/delivered_message.rb
kafka_session-0.3.0 lib/kafka_session/delivered_message.rb
kafka_session-0.2.1 lib/kafka_session/delivered_message.rb