lib/bcupgrade.rb in bcupgrade-0.1.3.1 vs lib/bcupgrade.rb in bcupgrade-0.1.4
- old
+ new
@@ -1,11 +1,23 @@
require 'bcupgrade/version'
require 'bcupgrade/brew_cask'
module Bcupgrade
def self.check_list
- Bcupgrade.brew_cask_list.delete(' (!)').split("\n")
+ cask_list = Bcupgrade.brew_cask_list.split("\n")
+
+ installed_casks = []
+ error_casks = []
+ cask_list.each do |cask|
+ if cask.include?(' (!)')
+ error_casks.push(cask.delete(' (!)'))
+ else
+ installed_casks.push(cask)
+ end
+ end
+
+ [installed_casks, error_casks]
end
def self.check_version(cask)
cask_info = Bcupgrade.brew_cask_info(cask)
lines = cask_info.split(/\n/)
@@ -31,13 +43,20 @@
end
def self.run(option = false)
# Check cask list
puts "\n==> Check 'brew cask list'...\n"
- installed_casks = Bcupgrade.check_list
+ cask_list = Bcupgrade.check_list
+ installed_casks = cask_list[0]
+ error_casks = cask_list[1]
+
puts "#{installed_casks}\n"
+ unless error_casks == []
+ puts "\nSkip re-install: can't found brew cask info\n#{error_casks}\n"
+ end
+
# Check cask version
puts "\n==> Check 'brew cask info' for the latest available version...\n"
update_casks = []
installed_casks.each do |cask|
latest_version = Bcupgrade.check_version(cask)
@@ -45,15 +64,13 @@
puts "#{cask} / #{latest_version}"
update_casks.push(cask)
end
end
- if option
- # Upgrade cask
- if update_casks.any?
- Bcupgrade.upgrade(update_casks)
- else
- puts "\nAlready up-to-date."
- end
+ # Upgrade cask
+ if update_casks.any?
+ Bcupgrade.upgrade(update_casks) if option
+ else
+ puts "\nAlready up-to-date."
end
end
end