Class: SpaceArchitect::CLI::Architect::Integrate

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:, space: nil, lanes:, teardown: false, **opts) ⇒ Object



305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
# File 'lib/space_architect/cli/architect.rb', line 305

def call(iteration:, space: nil, lanes:, teardown: false, **opts)
  setup_terminal(**opts.slice(:color, :colors))
  handle_errors do
    render(store.find(space)) do |sp|
      mission = ArchitectMission.new(space: sp)
      lane_names = lanes.to_s.split(",").map(&:strip).reject(&:empty?)
      results = mission.integrate!(iteration, lanes: lane_names, teardown: teardown)
      results.each do |r|
        terminal.say "Merged #{r[:lane]}#{r[:integration_branch]} (#{r[:merge_sha][0, 8]})"
      end
      terminal.say "Gates NOT run — run `architect gate #{iteration}`; the verdict is the next session's."
      CLI.record_outcome(Outcome.new(exit_code: 0))
    end
  end
end