Class: SpaceArchitect::CLI::Architect::Gate

Inherits:
Dry::CLI::Command
  • Object
show all
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

included

Instance Method Details

#call(iteration:, lane: nil, space: nil, **opts) ⇒ Object



331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
# File 'lib/space_architect/cli/architect.rb', line 331

def call(iteration:, lane: nil, space: nil, **opts)
  setup_terminal(**opts.slice(:color, :colors))
  handle_errors do
    render(store.find(space)) do |sp|
      mission = ArchitectMission.new(space: sp)
      results = mission.run_gates(iteration, lane: lane)
      results.each do |r|
        terminal.say ""
        terminal.say "── #{r[:ac].empty? ? "(gate)" : r[:ac]}: #{r[:command]}  (exit #{r[:exit_code]})"
        terminal.say r[:stdout].rstrip unless r[:stdout].strip.empty?
        terminal.say r[:stderr].rstrip unless r[:stderr].strip.empty?
      end
      terminal.say ""
      terminal.say "Raw gate output above — the PASS/FAIL/INVALID verdict is yours, read against the frozen thresholds."
      CLI.record_outcome(Outcome.new(exit_code: 0))
    end
  end
end