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