class Homebrew
Manages Homebrew
- the premier package manager for Mac OS
Constants
- INSTALL_SCRIPT
- TEARDOWN_SCRIPT
Public Instance Methods
clean()
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 18 def clean execute 'Clean Up', 'brew cleanup' end
down()
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 22 def down execute 'Teardown', "\\curl -L #{TEARDOWN_SCRIPT} | bash -s" end
up()
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 12 def up install_homebrew install_missing_brews update_existing_brews end
Private Instance Methods
each_brew_to_install() { |name, options| ... }
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 53 def each_brew_to_install brews.each do |brew| if brew.class == String name = brew options = [] else name = brew.keys.first options = brew[name] end yield name, options unless installed_brews.include? name end end
install_homebrew()
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 28 def install_homebrew if command_exists? 'brew' skip_task 'Install Homebrew' else execute_interactive 'Install Homebrew', "ruby -e \"$(curl -fsSL #{INSTALL_SCRIPT})\"" end end
install_missing_brews()
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 36 def install_missing_brews each_brew_to_install do |brew, options| install_package brew, options end end
install_package(name, options)
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 75 def install_package(name, options) execute "Installing #{name}", "brew install #{name} #{options.join}" end
installed_brews()
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 67 def installed_brews @installed_brews ||= silent_execute('brew ls').split(/\s/) end
outdated_brews()
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 71 def outdated_brews @outdated_brews ||= silent_execute('brew outdated').split(/\s/) end
update_existing_brews()
click to toggle source
# File lib/exogenesis/passengers/homebrew.rb, line 42 def update_existing_brews execute 'Updating Homebrew', 'brew update' if outdated_brews.length == 0 skip_task 'Upgrade Brews' else info 'Outdated Brews', outdated_brews.join(', ') execute 'Upgrade Brews', 'brew upgrade' end end