class Travis::CLI::Report

Public Instance Methods

cli_info() { |"Version", VERSION| ... } click to toggle source
# File lib/travis/cli/report.rb, line 51
def cli_info
  yield "Version",            Travis::VERSION
  yield "Plugins",            defined?(TRAVIS_PLUGINS) ? TRAVIS_PLUGINS : []
  yield "Auto-Completion",    Tools::Completion.completion_installed?
  yield "Last Version Check", last_check['at'] ? Time.at(last_check['at']) : 'never'
end
display(title, method, *args) click to toggle source
# File lib/travis/cli/report.rb, line 27
def display(title, method, *args)
  say color(title, [:bold, :underline])
  send(method, *args) { |*a| list(*a) }
  puts
end
display_error() click to toggle source
# File lib/travis/cli/report.rb, line 22
def display_error
  return unless error = load_file("error.log")
  display("Last Exception", :say, color(error, :info))
end
endpoint_name(url, prefix = "") click to toggle source
# File lib/travis/cli/report.rb, line 77
def endpoint_name(url, prefix = "")
  case url
  when Travis::Client::ORG_URI  then "#{prefix}org"
  when Travis::Client::PRO_URI  then "#{prefix}pro"
  when /api-staging\.travis-ci/ then endpoint_name(url.sub("api-staging.", "api."), "staging-")
  else
    key, _ = config['enterprise'].detect { |k,v| v.start_with? url }
    key ? "enterprise %p" % key : "???"
  end
end
endpoints() { |endpoint_name(endpoint), endpoint, join(', ')| ... } click to toggle source
# File lib/travis/cli/report.rb, line 65
def endpoints
  config['endpoints'].each do |endpoint, info|
    info = [
      info['access_token']         ? 'access token' : nil,
      info['insecure']             ? 'insecure'     : nil,
      default_endpoint == endpoint ? 'default'      : nil,
      endpoint == api_endpoint     ? 'current'      : nil
    ].compact
    yield endpoint_name(endpoint), endpoint, info.join(', ')
  end
end
general() { |"Ruby", ruby| ... } click to toggle source
# File lib/travis/cli/report.rb, line 45
def general
  yield "Ruby",               Tools::System.ruby
  yield "Operating System",   Tools::System.os
  yield "RubyGems",           Tools::System.rubygems
end
known_repos() { |key, info| ... } click to toggle source
# File lib/travis/cli/report.rb, line 88
def known_repos
  config["repos"].each do |key, info|
    yield key, info['endpoint']
  end
end
list(key, value, additional = nil) click to toggle source
# File lib/travis/cli/report.rb, line 33
def list(key, value, additional = nil)
  value = case value
          when Array then value.empty? ? 'none' : value.map(&:inspect).join(", ")
          when true  then "yes"
          when false then "no"
          when nil   then "unknown"
          else value.to_s
          end
  additional &&= " (#{additional})"
  say "#{key}:".ljust(known_repos? ? 50 : 25) << " " << color(value.to_s, :bold) << additional.to_s
end
run() click to toggle source
# File lib/travis/cli/report.rb, line 11
def run
  display("System",    :general)
  display("CLI",       :cli_info)
  display("Session",   :session_info)
  display("Endpoints", :endpoints)
  display("Known Repositories", :known_repos) if known_repos?
  display_error
  say "For issues with the command line tool, please visit #{color("https://github.com/travis-ci/travis.rb/issues", :underline)}."
  say "For Travis CI in general, go to #{color("https://github.com/travis-ci/travis-ci/issues", :underline)} or email #{color("support@travis-ci.com", :underline)}."
end
session_info() { |"API Endpoint", api_endpoint| ... } click to toggle source
# File lib/travis/cli/report.rb, line 58
def session_info
  yield "API Endpoint",       api_endpoint
  yield "Logged In",          user_info
  yield "Verify SSL",         !insecure
  yield "Enterprise",         enterprise?
end
user_info() click to toggle source
# File lib/travis/cli/report.rb, line 94
def user_info
  access_token ? "as %p" % user.login : "no"
rescue Travis::Client::Error => e
  e.message
end