lib/metacrunch/fs/reader.rb in metacrunch-3.1.0 vs lib/metacrunch/fs/reader.rb in metacrunch-3.1.1
- old
+ new
@@ -1,22 +1,30 @@
+require "metacrunch/fs"
require "rubygems/package"
module Metacrunch
class Fs::Reader
+ include Metacrunch::ParallelProcessableReader
def initialize(filenames = nil)
@filenames = [*filenames].map{|f| f.presence}.compact
end
def each(&block)
return enum_for(__method__) unless block_given?
- @filenames.each do |_filename|
+ offset = 0 + process_index
+
+ while offset < @filenames.count do
+ _filename = @filenames[offset]
+
if is_archive?(_filename)
- read_archive(_filename, &block)
+ read_archive(_filename, &block)
else
- read_regular_file(_filename, &block)
+ read_regular_file(_filename, &block)
end
+
+ offset += number_of_processes
end
end
private