mirror of
https://github.com/ruby/ruby.git
synced 2025-08-24 05:25:34 +02:00

- The command can either be run using:
1. `bundle doctor --ssl`
2. `bundle doctor ssl`
The later is most useful when you need to specify
custom ssl options (such as the verify mode or the
TLS version when running the diagnostic).
The implementation will follow in the next commits.
993d12874c
33 lines
1.4 KiB
Ruby
33 lines
1.4 KiB
Ruby
# 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
|