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
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 |
# File 'lib/space_architect/cli/architect.rb', line 340 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 |