Class: Ace::Assign::CLI::Commands::RetryCmd

Inherits:
Support::Cli::Command
  • Object
show all
Includes:
AssignmentTarget, Support::Cli::Base
Defined in:
lib/ace/assign/cli/commands/retry_cmd.rb

Overview

Retry a failed step (creates new step linked to original)

Instance Method Summary collapse

Instance Method Details

#call(step_ref:, **options) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/ace/assign/cli/commands/retry_cmd.rb', line 19

def call(step_ref:, **options)
  target = resolve_assignment_target(options)
  executor = build_executor_for_target(target)
  result = executor.retry_step(step_ref)

  unless options[:quiet]
    retry_step = result[:retry]
    original = result[:original]

    puts "Created: steps/#{File.basename(retry_step.file_path)} (retry of #{original.number})"
    puts "Original #{original.number}-#{original.name} preserved: #{original.status}"

    if result[:state].current && result[:state].current.number != retry_step.number
      puts "Note: Step #{result[:state].current.number} (#{result[:state].current.name}) must complete first"
    end
  end
end