27 lines
		
	
	
		
			759 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			759 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # typed: true
 | |
| # frozen_string_literal: true
 | |
| 
 | |
| module Cask
 | |
|   # @api private
 | |
|   class Uninstall
 | |
|     def self.uninstall_casks(*casks, binaries: nil, force: false, verbose: false)
 | |
|       require "cask/installer"
 | |
| 
 | |
|       casks.each do |cask|
 | |
|         odebug "Uninstalling Cask #{cask}"
 | |
| 
 | |
|         raise CaskNotInstalledError, cask if !cask.installed? && !force
 | |
| 
 | |
|         Installer.new(cask, binaries: binaries, force: force, verbose: verbose).uninstall
 | |
| 
 | |
|         next if (versions = cask.versions).empty?
 | |
| 
 | |
|         puts <<~EOS
 | |
|           #{cask} #{versions.to_sentence} #{(versions.count == 1) ? "is" : "are"} still installed.
 | |
|           Remove #{(versions.count == 1) ? "it" : "them all"} with `brew uninstall --cask --force #{cask}`.
 | |
|         EOS
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | 
