Class: SpaceArchitect::CLI::Architect::Variant::Add
- Inherits:
-
Dry::CLI::Command
- Object
- Dry::CLI::Command
- SpaceArchitect::CLI::Architect::Variant::Add
- Includes:
- GlobalOptions, Helpers
- Defined in:
- lib/space_architect/cli/architect.rb
Instance Method Summary collapse
Methods included from Helpers
#display_date, #handle_errors, #project_config, #render, #setup_terminal, #state, #store, #terminal
Methods included from GlobalOptions
Instance Method Details
#call(repo:, iteration:, space: nil, pairs:, base: nil, prompt: nil, **opts) ⇒ Object
285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 |
# File 'lib/space_architect/cli/architect.rb', line 285 def call(repo:, iteration:, space: nil, pairs:, base: nil, prompt: nil, **opts) setup_terminal(**opts.slice(:color, :colors)) handle_errors do render(store.find(space)) do |sp| parsed_pairs = pairs.to_s.split(",").map do |spec| harness, model = spec.split(":", 2) model = nil if model.nil? || model.empty? [harness, model] end mission = ArchitectMission.new(space: sp) variants = mission.variant_add(repo, iteration, parsed_pairs, base: base, prompt: prompt) variants.each do |v| terminal.say "#{v[:name]} · #{v[:harness]} · #{v[:model] || "(default)"} · #{terminal.path(v[:worktree])}" end CLI.record_outcome(Outcome.new(exit_code: 0)) end end end |