module BinInstall::Ruby::Rbenv

Constants

DOCTOR

Public Class Methods

abort_install!() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 74
def self.abort_install!
  puts 'Warning rbenv shims are not loaded.'.yellow
  puts 'Try closing this window and restarting your shell session.'.yellow
  puts "\n"
  puts 'Rerun the installer with:'
  puts '$ bin/install'.cyan
  puts "\n"
  abort('Aborting install.'.red)
end
doctor() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 62
def self.doctor
  system(DOCTOR)
end
doctor!() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 66
def self.doctor!
  BinInstall.system!(DOCTOR)
end
install() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 6
def self.install
  if Ruby::Rvm.installed?
    puts 'RVM is already installed. Skipping rbenv install.'.yellow
  else
    puts 'Installing rbenv...'.white
    Brew::Package.install('rbenv')
    Brew::Package.install_or_upgrade('ruby-build')
    Shell.append_to_profiles(%{eval "$(rbenv init -)"\n})
    require_shims!
    install_ruby
    doctor
  end
end
install!() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 20
def self.install!
  if Ruby::Rvm.installed?
    abort('RVM is already installed. Aborting rbenv install.'.red)
  else
    puts 'Installing rbenv...'.white
    Brew::Package.install!('rbenv')
    Brew::Package.install_or_upgrade!('ruby-build')
    Shell.append_to_profiles!(%{eval "$(rbenv init -)"\n})
    require_shims!
    install_ruby!
    doctor!
  end
end
install_ruby(version = Ruby.required_ruby_version) click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 34
def self.install_ruby(version = Ruby.required_ruby_version)
  puts "Installing Ruby #{version}...".white

  if version
    if Ruby.ruby_version_installed?(version)
      puts "Ruby #{version} is already installed. Skipping Ruby #{version} install.".blue
    else
      system("rbenv install #{version}")
    end
  else
    puts 'Unknown Ruby version. Create .ruby-version file.'
  end
end
install_ruby!(version = Ruby.required_ruby_version) click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 48
def self.install_ruby!(version = Ruby.required_ruby_version)
  puts "Installing Ruby #{version}...".white

  if version
    if Ruby.ruby_version_installed?(version)
      puts "Ruby #{version} is already installed. Skipping Ruby #{version} install.".blue
    else
      BinInstall.system!("rbenv install #{version}")
    end
  else
    abort('Unknown Ruby version. Create .ruby-version file.'.red)
  end
end
installed?() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 100
def self.installed?
  Shell.executable_exists?('rbenv')
end
rehash() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 84
def self.rehash
  system('rbenv rehash')
end
rehash!() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 88
def self.rehash!
  BinInstall.system!('rbenv rehash')
end
require_shims!() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 70
def self.require_shims!
  abort_install! unless `#{DOCTOR}`.include?('Checking for rbenv shims in PATH: OK')
end
version() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 92
def self.version
  system('rbenv version')
end
version!() click to toggle source
# File lib/bin_install/ruby/rbenv.rb, line 96
def self.version!
  BinInstall.system!('rbenv version')
end