44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require "hbc/cli/abstract_command"
 | |
| require "cleanup"
 | |
| 
 | |
| using CleanupRefinement
 | |
| 
 | |
| module Hbc
 | |
|   class CLI
 | |
|     class Cleanup < AbstractCommand
 | |
|       OUTDATED_DAYS = 10
 | |
|       OUTDATED_TIMESTAMP = Time.now - (60 * 60 * 24 * OUTDATED_DAYS)
 | |
| 
 | |
|       def self.help
 | |
|         "cleans up cached downloads and tracker symlinks"
 | |
|       end
 | |
| 
 | |
|       def self.visible
 | |
|         false
 | |
|       end
 | |
| 
 | |
|       attr_reader :cache_location
 | |
| 
 | |
|       def initialize(*args, cache_location: Cache.path)
 | |
|         super(*args)
 | |
|         @cache_location = Pathname.new(cache_location)
 | |
|       end
 | |
| 
 | |
|       def run
 | |
|         odeprecated "`brew cask cleanup`", "`brew cleanup`", disable_on: Time.new(2018, 9, 30)
 | |
| 
 | |
|         cleanup = Homebrew::Cleanup.new
 | |
| 
 | |
|         casks(alternative: -> { Cask.to_a }).each do |cask|
 | |
|           cleanup.cleanup_cask(cask)
 | |
|         end
 | |
| 
 | |
|         return if cleanup.disk_cleanup_size.zero?
 | |
| 
 | |
|         disk_space = disk_usage_readable(cleanup.disk_cleanup_size)
 | |
|         ohai "This operation has freed approximately #{disk_space} of disk space."
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | 
