Class: SpaceArchitect::CLI::Architect::Variant::Compare
- Inherits:
-
Dry::CLI::Command
- Object
- Dry::CLI::Command
- SpaceArchitect::CLI::Architect::Variant::Compare
- 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(iteration:, space: nil, **opts) ⇒ Object
518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 |
# File 'lib/space_architect/cli/architect.rb', line 518 def call(iteration:, space: nil, **opts) setup_terminal(**opts.slice(:color, :colors)) handle_errors do render(store.find(space)) do |sp| mission = ArchitectMission.new(space: sp) info = mission.variant_compare(iteration) terminal.say "Variant comparison: #{iteration} (freeze #{info[:freeze_sha]&.[](0, 8) || "-"})" terminal.say "Winner: #{info[:winner] || '(none)'}" terminal.say "" rows = info[:variants].map do |v| [ v[:name], v[:harness], v[:model] || "(default)", v[:effort] || "-", v[:status] == "winner" ? "WINNER" : v[:status], v[:integration_branch] || "-", v[:base_sha]&.[](0, 8) || "-" ] end terminal.say terminal.table(%w[Variant Harness Model Effort Status Integration Base], rows) CLI.record_outcome(Outcome.new(exit_code: 0)) end end end |