Class: FuzzBert::Executor::DataProducer

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

Defined Under Namespace

Classes: ProcessSafeEnumerator, Ring

Instance Method Summary collapse

Constructor Details

#initialize(suites) ⇒ DataProducer

Returns a new instance of DataProducer.



130
131
132
133
# File 'lib/fuzzbert/executor.rb', line 130

def initialize(suites)
  @ring = Ring.new(suites)
  update
end

Instance Method Details

#nextObject



140
141
142
143
144
145
146
147
148
149
150
# File 'lib/fuzzbert/executor.rb', line 140

def next
  gen = nil
  until gen
    begin
      gen = @gen_iter.next
    rescue StopIteration
      update
    end
  end
  [@suite.description, @suite.test, gen]
end

#updateObject



135
136
137
138
# File 'lib/fuzzbert/executor.rb', line 135

def update
  @suite = @ring.next
  @gen_iter = ProcessSafeEnumerator.new(@suite.generators)
end