Class: FuzzBert::Executor::DataProducer::ProcessSafeEnumerator

Inherits:
Object
  • Object
show all
Defined in:
lib/fuzzbert/executor.rb

Overview

needed because the Fiber used for normal Enumerators has race conditions

Instance Method Summary collapse

Constructor Details

#initialize(ary) ⇒ ProcessSafeEnumerator

Returns a new instance of ProcessSafeEnumerator.



169
170
171
172
# File 'lib/fuzzbert/executor.rb', line 169

def initialize(ary)
  @i = 0
  @ary = ary.to_a
end

Instance Method Details

#nextObject

Raises:

  • (StopIteration)


174
175
176
177
178
179
# File 'lib/fuzzbert/executor.rb', line 174

def next
  obj = @ary[@i]
  raise StopIteration unless obj
  @i += 1
  obj
end