Class: Mutant::Parallel::Source::Array

Inherits:
Object
  • Object
show all
Defined in:
lib/mutant/parallel/source.rb

Overview

Job source backed by a finite array

Instance Method Summary collapse

Constructor Details

#initializeundefined

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Initialize objecto



35
36
37
38
39
# File 'lib/mutant/parallel/source.rb', line 35

def initialize(*)
  super

  @next_index = 0
end

Instance Method Details

#nextObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Next job

Returns:

  • (Object)

Raises:



58
59
60
61
62
63
# File 'lib/mutant/parallel/source.rb', line 58

def next
  fail NoJobError unless next?
  jobs.fetch(@next_index).tap do
    @next_index += 1
  end
end

#next?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Test if next job is available

Returns:

  • (Boolean)


46
47
48
# File 'lib/mutant/parallel/source.rb', line 46

def next?
  @next_index < jobs.length
end