Class: Insanity::Runner

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

Defined Under Namespace

Classes: Result

Instance Method Summary collapse

Constructor Details

#initialize(command:, iterations:, printer: Printer.new) ⇒ Runner

Returns a new instance of Runner.



8
9
10
11
12
13
# File 'lib/insanity.rb', line 8

def initialize(command:, iterations:, printer: Printer.new)
  @command = command
  @iterations = iterations
  @printer = printer
  @results = []
end

Instance Method Details

#commence!Object



15
16
17
18
19
20
21
22
23
# File 'lib/insanity.rb', line 15

def commence!
  iterations.times do |i|
    _, status = Open3.capture2e(command)
    add_result(status)
    printer.update_progress(status)
  end

  printer.print_summary(iterations, results)
end