Class: Space::Architect::CLI::Architect::Merge

Inherits:
BaseCommand
  • Object
show all
Defined in:
lib/space_architect/cli/architect.rb

Instance Method Summary collapse

Methods inherited from BaseCommand

commit_message_options, phase

Instance Method Details

#call(iteration:, lane:, space: nil, message: nil, message_from: nil, into: nil, commit_mode: nil, **opts) ⇒ Object



678
679
680
681
682
683
684
685
686
687
688
689
690
691
# File 'lib/space_architect/cli/architect.rb', line 678

def call(iteration:, lane:, space: nil, message: nil, message_from: nil, into: nil, commit_mode: nil, **opts)
  setup_terminal(**opts.slice(:color, :colors))
  handle_errors do
    render(store.find(space)) do |sp|
      project = ArchitectProject.new(space: sp)
      r = project.merge_lane!(iteration, lane, into: into, commit_mode: commit_mode,
        message: read_commit_message(message: message, message_from: message_from))
      terminal.say "Merged #{lane}#{r[:integration_branch]} (#{r[:merge_sha][0, 8]})"
      terminal.say r[:diffstat] unless r[:diffstat].empty?
      terminal.say "Gates NOT run — run `architect gate #{iteration}` against the integration branch."
      CLI.record_outcome(Outcome.new(exit_code: 0))
    end
  end
end