class BrewCaskTools::Tasks::Upgrade

Upgrade task

Public Class Methods

new(casks) click to toggle source

@param optional casks [Array] array of cask names to upgrade

Calls superclass method
# File lib/bct/tasks/upgrade.rb, line 11
def initialize(casks)
  super()

  @upgrade = []

  if casks.empty?
    progressbar.total = caskroom.casks.length
    progressbar.log "\nLooking for outdated casks..."

    @upgrade = compile
  else
    @upgrade = casks.map { |c| caskroom.get(c) }
    return say 'Invalid cask(s) specified', :red if @upgrade.compact.empty?
  end

  upgrade
end

Public Instance Methods

compile() click to toggle source

Get list of casks to upgrade @return [Array] an array of casks to upgrade

# File lib/bct/tasks/upgrade.rb, line 31
def compile
  upgrade = []
  caskroom.enumerate do |cask|
    increment(cask)

    next unless cask.outdated?

    upgrade << cask
    progressbar.log "#{cask.info.name}: " \
    "#{cask.current} ==> #{cask.candidate}"
  end
  upgrade
end
upgrade() click to toggle source

Upgrade casks

# File lib/bct/tasks/upgrade.rb, line 46
def upgrade
  return say 'There are no casks to be upgraded', :green if @upgrade.empty?
  @upgrade.each(&:upgrade)

  # Cleanup casks that we upgraded
  Tasks::Cleanup.new(@upgrade.map(&:name))
end