Class: Space::Core::CLI::Repo::Resolve

Inherits:
BaseCommand
  • Object
show all
Defined in:
lib/space_core/cli/repo.rb

Instance Method Summary collapse

Methods included from Helpers

#display_date, #handle_errors, #project_config, #render, #setup_terminal, #state, #store, #terminal

Instance Method Details

#call(repos: [], **opts) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/space_core/cli/repo.rb', line 59

def call(repos: [], **opts)
  setup_terminal(**opts.slice(:color, :colors))
  handle_errors do
    specs = Array(repos).compact
    if specs.empty?
      terminal.error("Usage: space repo resolve REPO [REPO...]")
      CLI.record_outcome(Outcome.new(exit_code: 1))
      next
    end

    references = specs.map { |spec| Space::Core::RepoResolver.new(project_config).resolve(spec) }
    terminal.say terminal.table(["Repo", "Clone URL"], references.map { |ref| [ref.full_name, ref.clone_url] })
    CLI.record_outcome(Outcome.new(exit_code: 0))
  end
end