module MessageStore::Read
Constants
- Error
Public Class Methods
included(cls)
click to toggle source
# File lib/message_store/read.rb, line 3 def self.included(cls) cls.class_exec do include Dependency include Initializer include Virtual include Log::Dependency extend Build extend Call extend Configure dependency :iterator, Iterator initializer :stream_name, :position, :batch_size abstract :configure end end
Public Instance Methods
call(&action)
click to toggle source
# File lib/message_store/read.rb, line 48 def call(&action) logger.trace(tag: :read) { "Reading (Stream Name: #{stream_name})" } if action.nil? error_message = "Reader must be actuated with a block" logger.error(tag: :read) { error_message } raise Error, error_message end enumerate_message_data(&action) logger.info(tag: :read) { "Reading completed (Stream Name: #{stream_name})" } return AsyncInvocation::Incorrect end
enumerate_message_data(&action)
click to toggle source
# File lib/message_store/read.rb, line 64 def enumerate_message_data(&action) logger.trace(tag: :read) { "Enumerating (Stream Name: #{stream_name})" } message_data = nil loop do message_data = iterator.next break if message_data.nil? logger.debug(tags: [:data, :message_data]) { message_data.pretty_inspect } action.(message_data) end logger.debug(tag: :read) { "Enumerated (Stream Name: #{stream_name})" } end