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