class PeerCommander::CommandRunner
Runs the listed commands with a configurable level of parallelism
Attributes
command_results[R]
commands[R]
Public Class Methods
new(commands)
click to toggle source
# File lib/peer_commander/command_runner.rb, line 7 def initialize(commands) @commands = commands @command_results = [] end
Public Instance Methods
all_commands()
click to toggle source
# File lib/peer_commander/command_runner.rb, line 29 def all_commands raise Errors::CommandNotExecutedError if command_results.empty? @command_results end
duration()
click to toggle source
# File lib/peer_commander/command_runner.rb, line 47 def duration raise Errors::CommandNotExecutedError if command_results.empty? @duration end
execute(parallelism: 1)
click to toggle source
# File lib/peer_commander/command_runner.rb, line 12 def execute(parallelism: 1) start = Time.now @command_results = ParallelExecutor.new.execute(commands, parallelism) @duration = Time.now - start @command_results end
failed?()
click to toggle source
# File lib/peer_commander/command_runner.rb, line 25 def failed? !success? end
failed_commands()
click to toggle source
# File lib/peer_commander/command_runner.rb, line 41 def failed_commands raise Errors::CommandNotExecutedError if command_results.empty? @command_results.select(&:failed?) end
success?()
click to toggle source
# File lib/peer_commander/command_runner.rb, line 19 def success? raise Errors::CommandNotExecutedError if command_results.empty? @command_results.all?(&:success?) end
successful_commands()
click to toggle source
# File lib/peer_commander/command_runner.rb, line 35 def successful_commands raise Errors::CommandNotExecutedError if command_results.empty? @command_results.select(&:success?) end