43 lines
		
	
	
		
			850 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			850 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| require "system_config"
 | |
| require "cask/checkable"
 | |
| require "diagnostic"
 | |
| 
 | |
| module Cask
 | |
|   class Cmd
 | |
|     class Doctor < AbstractCommand
 | |
|       def initialize(*)
 | |
|         super
 | |
|         return if args.empty?
 | |
| 
 | |
|         raise ArgumentError, "#{self.class.command_name} does not take arguments."
 | |
|       end
 | |
| 
 | |
|       def summary_header
 | |
|         "Cask's Doctor Checkup"
 | |
|       end
 | |
| 
 | |
|       def run
 | |
|         success = true
 | |
| 
 | |
|         checks = Homebrew::Diagnostic::Checks.new true
 | |
|         checks.cask_checks.each do |check|
 | |
|           out = checks.send(check)
 | |
| 
 | |
|           if out.present?
 | |
|             success = false
 | |
|             puts out
 | |
|           end
 | |
|         end
 | |
| 
 | |
|         raise CaskError, "There are some problems with your setup." unless success
 | |
|       end
 | |
| 
 | |
|       def self.help
 | |
|         "checks for configuration issues"
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | 
