2020-10-10 14:16:11 +02:00
|
|
|
# typed: false
|
2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-09-06 08:29:14 +02:00
|
|
|
module Cask
|
2018-09-04 08:45:48 +01:00
|
|
|
class Cmd
|
2020-08-19 10:34:07 +02:00
|
|
|
# Implementation of the `brew cask doctor` command.
|
|
|
|
#
|
|
|
|
# @api private
|
2017-05-20 19:08:03 +02:00
|
|
|
class Doctor < AbstractCommand
|
2020-10-20 12:03:48 +02:00
|
|
|
extend T::Sig
|
|
|
|
|
|
|
|
sig { override.returns(T.nilable(Integer)) }
|
2020-08-01 02:30:46 +02:00
|
|
|
def self.max_named
|
|
|
|
0
|
2017-05-21 00:15:56 +02:00
|
|
|
end
|
|
|
|
|
2020-10-20 12:03:48 +02:00
|
|
|
sig { returns(String) }
|
2020-08-01 02:30:46 +02:00
|
|
|
def self.description
|
|
|
|
"Checks for configuration issues."
|
2017-12-02 00:53:54 +00:00
|
|
|
end
|
|
|
|
|
2020-10-20 12:03:48 +02:00
|
|
|
sig { void }
|
2017-05-21 00:15:56 +02:00
|
|
|
def run
|
2020-08-18 00:23:23 +01:00
|
|
|
require "diagnostic"
|
|
|
|
|
2020-11-23 18:15:48 +01:00
|
|
|
success = T.let(true, T::Boolean)
|
2017-12-02 00:53:54 +00:00
|
|
|
|
2020-08-19 17:12:32 +01:00
|
|
|
checks = Homebrew::Diagnostic::Checks.new(verbose: true)
|
2020-07-10 10:36:59 -04:00
|
|
|
checks.cask_checks.each do |check|
|
|
|
|
out = checks.send(check)
|
2019-10-01 11:17:27 +00:00
|
|
|
|
2020-07-10 10:36:59 -04:00
|
|
|
if out.present?
|
|
|
|
success = false
|
|
|
|
puts out
|
2019-10-01 11:17:27 +00:00
|
|
|
end
|
2018-09-17 20:11:11 +02:00
|
|
|
end
|
|
|
|
|
2020-07-10 10:36:59 -04:00
|
|
|
raise CaskError, "There are some problems with your setup." unless success
|
2017-02-04 21:52:04 +01:00
|
|
|
end
|
2016-09-24 13:52:43 +02:00
|
|
|
end
|
2016-08-18 22:11:42 +03:00
|
|
|
end
|
|
|
|
end
|