Sha256: 7a3e5cfb580ca2d10779c9443d74e481df2ee42ed2537ac66583a3ac8a2266a6
Contents?: true
Size: 1.72 KB
Versions: 4
Compression:
Stored size: 1.72 KB
Contents
require 'travis/cli' module Travis module CLI class ApiCommand < Command include Travis::Client::Methods attr_reader :session abstract on('-e', '--api-endpoint URL', 'Travis API server to talk to') on('--pro', "short-cut for --api-endpoint '#{Travis::Client::PRO_URI}'") { |c,_| c.api_endpoint = Travis::Client::PRO_URI } on('--org', "short-cut for --api-endpoint '#{Travis::Client::ORG_URI}'") { |c,_| c.api_endpoint = Travis::Client::ORG_URI } on('-t', '--token [ACCESS_TOKEN]', 'access token to use') { |c, t| c.access_token = t } def initialize(*) @session = Travis::Client.new super end def endpoint_config config['endpoints'] ||= {} config['endpoints'][api_endpoint] ||= {} end def setup self.access_token ||= fetch_token endpoint_config['access_token'] ||= access_token authenticate if pro? end def pro? api_endpoint == Travis::Client::PRO_URI end def org? api_endpoint == Travis::Client::ORG_URI end def detected_endpoint? api_endpoint == detected_endpoint end def authenticate error "not logged in, please run #{command("login#{endpoint_option}")}" if access_token.nil? end private def detected_endpoint Travis::Client::ORG_URI end def endpoint_option return "" if org? and detected_endpoint? return " --org" if org? return " --pro" if pro? " -e %p" % api_endpoint end def fetch_token return endpoint_config['access_token'] if endpoint_config['access_token'] end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
travis-1.0.3 | lib/travis/cli/api_command.rb |
travis-1.0.2 | lib/travis/cli/api_command.rb |
travis-1.0.1 | lib/travis/cli/api_command.rb |
travis-1.0.0 | lib/travis/cli/api_command.rb |