lib/travis/cli/report.rb in travis-1.11.1 vs lib/travis/cli/report.rb in travis-1.12.0

- old
+ new

@@ -1,67 +1,74 @@ +# frozen_string_literal: true + require 'travis/cli' require 'travis/tools/system' module Travis module CLI class Report < ApiCommand - description "generates a report useful for filing issues" + description 'generates a report useful for filing issues' on '-r', '--known-repos', 'include repositories in report' skip :authenticate, :clear_error 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('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)}." + 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 def display_error - return unless error = load_file("error.log") - display("Last Exception", :say, color(error, :info)) + return unless (error = load_file('error.log')) + + display('Last Exception', :say, color(error, :info)) end def display(title, method, *args) - say color(title, [:bold, :underline]) + say color(title, %i[bold underline]) send(method, *args) { |*a| list(*a) } puts end 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" + 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 + say "#{key}:".ljust(known_repos? ? 50 : 25) << ' ' << color(value.to_s, :bold) << additional.to_s end def general - yield "Ruby", Tools::System.ruby - yield "Operating System", Tools::System.os - yield "RubyGems", Tools::System.rubygems + yield 'Ruby', Tools::System.ruby + yield 'Operating System', Tools::System.os + yield 'RubyGems', Tools::System.rubygems end 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' + 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 def session_info - yield "API Endpoint", api_endpoint - yield "Logged In", user_info - yield "Verify SSL", !insecure - yield "Enterprise", enterprise? + yield 'API Endpoint', api_endpoint + yield 'Logged In', user_info + yield 'Verify SSL', !insecure + yield 'Enterprise', enterprise? end def endpoints config['endpoints'].each do |endpoint, info| info = [ @@ -72,28 +79,28 @@ ].compact yield endpoint_name(endpoint), endpoint, info.join(', ') end end - def endpoint_name(url, prefix = "") + def endpoint_name(url, prefix = '') case url when Travis::Client::ORG_URI then "#{prefix}org" when Travis::Client::COM_URI then "#{prefix}com" - when /api-staging\.travis-ci/ then endpoint_name(url.sub("api-staging.", "api."), "staging-") + 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 } if config['enterprise'].respond_to?(:detect) - key ? "enterprise %p" % key : "???" + key, = config['enterprise'].detect { |_k, v| v.start_with? url } if config['enterprise'].respond_to?(:detect) + key ? 'enterprise %p' % key : '???' end end def known_repos - config["repos"].each do |key, info| + config['repos'].each do |key, info| yield key, info['endpoint'] end end def user_info - access_token ? "as %p" % user.login : "no" + access_token ? 'as %p' % user.login : 'no' rescue Travis::Client::Error => e e.message end end end