1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
# frozen_string_literal: true
module Bundler
class CLI::Doctor < Thor
default_command(:diagnose)
desc "diagnose [OPTIONS]", "Checks the bundle for common problems"
long_desc <<-D
Doctor scans the OS dependencies of each of the gems requested in the Gemfile. If
missing dependencies are detected, Bundler prints them and exits status 1.
Otherwise, Bundler prints a success message and exits with a status of 0.
D
method_option "gemfile", type: :string, banner: "Use the specified gemfile instead of Gemfile"
method_option "quiet", type: :boolean, banner: "Only output warnings and errors."
method_option "ssl", type: :boolean, default: false, banner: "Diagnose SSL problems."
def diagnose
require_relative "doctor/diagnose"
Diagnose.new(options).run
end
desc "ssl [OPTIONS]", "Diagnose SSL problems"
long_desc <<-D
Diagnose SSL problems, especially related to certificates or TLS version while connecting to https://rubygems.org.
D
method_option "host", type: :string, banner: "The host to diagnose."
method_option "tls-version", type: :string, banner: "Specify the SSL/TLS version when running the diagnostic. Accepts either <1.1> or <1.2>"
method_option "verify-mode", type: :string, banner: "Specify the mode used for certification verification. Accepts either <peer> or <none>"
def ssl
require_relative "doctor/ssl"
SSL.new(options).run
end
end
end
|