In Files

  • minitest/parallel_each.rb

Parent

Methods

Included Modules

ParallelEach

This file is imported from the minitest project. DO NOT make modifications in this repo. They will be reverted! File a patch instead and assign it to Ryan Davis.

Constants

N

Public Class Methods

new(list) click to toggle source
 
               # File minitest/parallel_each.rb, line 13
def initialize list
  @queue = Queue.new # *sigh*... the Queue api sucks sooo much...

  list.each { |i| @queue << i }
  N.times { @queue << nil }
end
            

Public Instance Methods

each() click to toggle source
 
               # File minitest/parallel_each.rb, line 24
def each
  threads = N.times.map {
    Thread.new do
      Thread.current.abort_on_exception = true
      while job = @queue.pop
        yield job
      end
    end
  }
  threads.map(&:join)
end
            
grep(pattern) click to toggle source
 
               # File minitest/parallel_each.rb, line 20
def grep pattern
  self.class.new super
end