lib/aggro/file_store/reader.rb in aggro-0.0.3 vs lib/aggro/file_store/reader.rb in aggro-0.0.4

- old
+ new

@@ -1,21 +1,29 @@ module Aggro - class FileStore < AbstractStore + class FileStore # Private: Deserialized events from an IO object. class Reader def initialize(data_io, index_io) @data_io = data_io @index_io = index_io end def read - ObjectStream.new(@data_io, type: 'marshal') + Enumerator.new do |yielder| + stream.each do |raw_event| + yielder << EventSerializer.deserialize(raw_event) + end + end end private def index - @index ||= ObjectStream.new(@index_io, type: 'marshal') + @index ||= MarshalStream.new @index_io + end + + def stream + @stream ||= MarshalStream.new @data_io end end end end