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.



152
153
154
155
# File 'lib/fuzzbert/executor.rb', line 152

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

Instance Method Details

#nextObject

Raises:

  • (StopIteration)


157
158
159
160
161
162
# File 'lib/fuzzbert/executor.rb', line 157

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