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