class Renuo::Cli::Commands::UpgradeLaptop
Public Instance Methods
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 12 def run say "Start Update" upgrade_apps upgrade_macos upgrade_brew unless reboot_required? end
Private Instance Methods
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 63 def agree_for_reboot? agree "\nYour Mac needs to be rebooted, Still continue?".red.to_s end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 67 def execute_upgrade puts `softwareupdate --install --all` reboot if reboot_required? end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 48 def find_software_upgrades say "\nUpdating macOS.\nFinding available software (this may take a while)".yellow @output = `softwareupdate --list 2>&1` say @output end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 72 def reboot say "Rebooting Now".white.on_red say `osascript -e 'tell app "System Events" to restart'` end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 44 def reboot_required? @output.downcase.include? "restart" end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 59 def reboot_required_and_not_agreed_to? reboot_required? && !agree_for_reboot? end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 26 def setup_mas `which mas || brew install mas` end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 21 def upgrade_apps setup_mas run_command "mas upgrade" end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 55 def upgrade_available? @output.include? "Software Update found" end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 38 def upgrade_brew run_command "brew update" run_command "brew upgrade" run_command "brew cleanup" end
Source
# File lib/renuo/cli/commands/upgrade_laptop.rb, line 30 def upgrade_macos find_software_upgrades return unless upgrade_available? return if reboot_required_and_not_agreed_to? execute_upgrade end