Class: Travis::CLI::RepoCommand

Inherits:
ApiCommand show all
Defined in:
lib/travis/cli/repo_command.rb

Constant Summary collapse

GIT_REGEX =
%r{/?(.*/.+?)(\.git)?$}
TRAVIS =
%r{^https://(staging-)?api\.travis-ci\.(org|com)}

Constants inherited from Command

Command::DAY, Command::HOUR, Command::MINUTE, Command::WEEK

Constants included from Tools::Assets

Tools::Assets::BASE

Instance Attribute Summary collapse

Attributes inherited from ApiCommand

#enterprise_name, #session

Attributes inherited from Command

#arguments, #config, #debug, #force_interactive, #formatter, #input, #output

Instance Method Summary collapse

Methods inherited from ApiCommand

#authenticate, #endpoint_config, #enterprise?, #initialize, #org?, #pro?, #sync

Methods included from Travis::Client::Methods

#access_token, #access_token=, #account, #accounts, #api_endpoint, #api_endpoint=, #artifact, #broadcasts, #cancel, #explicit_api_endpoint?, #github_auth, #hooks, #lint, #listen, #repo, #repos, #restart, #user

Methods inherited from Command

abstract, abstract?, #check_completion, #check_ruby, #check_version, command_name, #command_name, #debug?, description, #execute, #help, #info, #initialize, #last_check, #on_signal, #parse, #say, skip, subcommands, #terminal, #time, #usage, #usage_for, #write_to

Methods included from Parser

#new, #on, #on_initialize

Methods included from Tools::Assets

#asset, #asset_path

Constructor Details

This class inherits a constructor from Travis::CLI::ApiCommand

Instance Attribute Details

#slugObject

Returns the value of attribute slug


16
17
18
# File 'lib/travis/cli/repo_command.rb', line 16

def slug
  @slug
end

Instance Method Details

#repositoryObject


28
29
30
31
32
# File 'lib/travis/cli/repo_command.rb', line 28

def repository
  repo(slug)
rescue Travis::Client::NotFound
  error "repository not known to #{api_endpoint}: #{color(slug, :important)}"
end

#setupObject


19
20
21
22
23
24
25
26
# File 'lib/travis/cli/repo_command.rb', line 19

def setup
  setup_enterprise
  error "Can't figure out GitHub repo name. Ensure you're in the repo directory, or specify the repo name via the -r option (e.g. travis <command> -r <owner>/<repo>)" unless self.slug ||= find_slug
  error "GitHub repo name is invalid, it should be on the form 'owner/repo'" unless self.slug.include?("/")
  self.api_endpoint = detect_api_endpoint
  super
  repository.load # makes sure we actually have access to the repo
end