Module: Ace::Assign::CLI
- Extended by:
- Support::Cli::RegistryDsl
- Defined in:
- lib/ace/assign/cli.rb,
lib/ace/assign/cli/commands/add.rb,
lib/ace/assign/cli/commands/fail.rb,
lib/ace/assign/cli/commands/list.rb,
lib/ace/assign/cli/commands/step.rb,
lib/ace/assign/cli/commands/start.rb,
lib/ace/assign/cli/commands/create.rb,
lib/ace/assign/cli/commands/finish.rb,
lib/ace/assign/cli/commands/select.rb,
lib/ace/assign/cli/commands/status.rb,
lib/ace/assign/cli/commands/fork_run.rb,
lib/ace/assign/cli/commands/retry_cmd.rb,
lib/ace/assign/cli/commands/fork_session.rb,
lib/ace/assign/cli/commands/assignment_target.rb
Overview
ace-support-cli based CLI registry for ace-assign
Defined Under Namespace
Modules: Commands
Constant Summary collapse
- PROGRAM_NAME =
"ace-assign"- REGISTERED_COMMANDS =
Application commands with descriptions (for help output)
[ ["create", "Create assignment from preset or YAML"], ["status", "Show assignment status"], ["step", "Show step instructions"], ["start", "Start next workable step"], ["finish", "Complete current step with report"], ["fail", "Mark step as failed"], ["add", "Add step to assignment"], ["retry", "Retry failed step"], ["list", "List all assignments"], ["select", "Select active assignment"], ["fork-run", "Run subtree in forked process"] ].freeze
- HELP_EXAMPLES =
[ "ace-assign create --preset review # Start review assignment", "ace-assign status # Compact queue progress", "ace-assign step # Current or next step instructions", "ace-assign start # Start next workable step", "ace-assign finish --message done.md # Complete active step", "cat report.md | ace-assign finish # Complete step via stdin", "ace-assign fork-run 010.01 # Run subtree in subprocess" ].freeze
Class Method Summary collapse
-
.start(args) ⇒ Integer
Start the CLI.
-
.wrap_command(command_class) ⇒ Class
Wrap a command to capture its exit code.
Class Method Details
.start(args) ⇒ Integer
Start the CLI
95 96 97 98 99 |
# File 'lib/ace/assign/cli.rb', line 95 def self.start(args) @captured_exit_code = nil Ace::Support::Cli::Runner.new(self).call(args: args) @captured_exit_code || 0 end |
.wrap_command(command_class) ⇒ Class
Wrap a command to capture its exit code
105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/ace/assign/cli.rb', line 105 def self.wrap_command(command_class) wrapped = Class.new(Ace::Support::Cli::Command) do define_method(:call) do |**kwargs| result = command_class.new.call(**kwargs) Ace::Assign::CLI.instance_variable_set(:@captured_exit_code, result) if result.is_a?(Integer) result end end # Copy metadata from original class command_class.instance_variables.each do |ivar| wrapped.instance_variable_set(ivar, command_class.instance_variable_get(ivar)) end wrapped end |