class BrewCaskTools::Tasks::Cleanup
Cleanup
task
Public Class Methods
new(casks)
click to toggle source
@param optional casks [Array] array of cask names to cleanup
Calls superclass method
# File lib/bct/tasks/cleanup.rb, line 10 def initialize(casks) super() @cleaned = [] if casks.empty? progressbar.total = caskroom.casks.length progressbar.log "\nLooking for casks to cleanup..." @cleaned = compile else @cleaned = casks.map { |c| caskroom.get(c) } return say 'Invalid cask specified', :red if @cleaned.compact.empty? end clean end
Public Instance Methods
clean()
click to toggle source
# File lib/bct/tasks/cleanup.rb, line 37 def clean return say "\nNo cleanup operations are necessary", :green if @cleaned.empty? @cleaned.each do |cask| cask.cleanup(&clean_block) end end
clean_block()
click to toggle source
# File lib/bct/tasks/cleanup.rb, line 45 def clean_block proc do |cask, versions| name = cask.name say "Cleaning up #{name}", :yellow if cask.deprecated? && no?("#{name} has been deprecated. Ok to remove all versions?", :red) say 'No action taken.', :red next end say "Removed #{versions.length} old version(s)", :yellow end end
compile()
click to toggle source
# File lib/bct/tasks/cleanup.rb, line 27 def compile cleaned = [] caskroom.enumerate do |cask| increment(cask) cleaned << cask if cask.can_cleanup? end cleaned end