module Consumer::EventStore

Public Class Methods

included(cls) click to toggle source
# File lib/consumer/event_store/event_store.rb, line 3
def self.included(cls)
  cls.class_exec do
    include Consumer
  end
end

Public Instance Methods

configure(session: nil, batch_size: nil, position_store: nil) click to toggle source
# File lib/consumer/event_store/event_store.rb, line 9
def configure(session: nil, batch_size: nil, position_store: nil)
  cycle_timeout = cycle_timeout_milliseconds || Consumer::Subscription::Defaults.cycle_timeout_milliseconds

  long_poll_duration = Rational(cycle_timeout, 1000).ceil

  unless session.nil?
    get_session = CopySession.(session)
  end

  MessageStore::EventStore::Get.configure(
    self,
    batch_size: batch_size,
    long_poll_duration: long_poll_duration,
    session: get_session
  )

  PositionStore.configure(
    self,
    stream_name,
    position_store: position_store,
    consumer_identifier: identifier,
    session: session
  )
end