Class: BrewCaskTools::Tasks::Upgrade

Inherits:
Caskroom
  • Object
show all
Defined in:
lib/bct/tasks/upgrade.rb

Overview

Upgrade tasks

Instance Method Summary collapse

Methods inherited from Caskroom

#casklist, #casks, #enumerate, #get

Constructor Details

#initialize(cask_name) ⇒ Upgrade

Returns a new instance of Upgrade.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/bct/tasks/upgrade.rb', line 10

def initialize(cask_name)
  super()

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

    return upgrade_all # Clean all casks
  end

  cask = caskroom.get(cask_name)
  return say 'Invalid cask specified', :red if cask.nil?

  upgrade_one(cask)
end

Instance Method Details

#upgrade_allObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/bct/tasks/upgrade.rb', line 26

def upgrade_all
  to_upgrade = []

  caskroom.enumerate do |cask|
    progressbar.title = "  #{cask.name.capitalize} "
    progressbar.increment

    next unless cask.outdated?

    to_upgrade << cask
    progressbar.log "#{cask.info.name}: " \
    "#{cask.installed_version} ==> #{cask.current_version}"
  end

  return say 'There are no casks to be upgraded', :green if to_upgrade.empty?

  to_upgrade.each(&:upgrade)

  Tasks::Cleanup.new(nil)
end

#upgrade_one(cask) ⇒ Object



47
48
49
50
# File 'lib/bct/tasks/upgrade.rb', line 47

def upgrade_one(cask)
  cask.upgrade
  Tasks::Cleanup.new(cask.name)
end