class ActiveScripts::Packages::Ruby

Private Instance Methods

install() click to toggle source

INFO: ActiveScripts::Packages::Ruby contains code that

execute the ruby package.
# File lib/active_scripts/packages/ruby.rb, line 10
def install
  output = ask("   [?] Which version? ") { |q| q.default = "2.2.2" }

  if package_installed?("ruby -v", includes: output)
    notify_package_exists!
  else
    case $operating_system
    when :macosx, :linux
      begin
        Timeout::timeout(600) do
          execute_command!("rbenv install #{output}") unless package_installed?("rbenv versions", includes: output)
        end
      rescue Timeout::Error => e
        ##
      ensure
        execute_command!("rbenv rehash")
        execute_command!("rbenv global #{output}")
        execute_command!("echo 'gem: --no-ri --no-rdoc' >> ~/.gemrc")
        execute_command!("gem update --system")
        say_ok("   Installation complete!")
      end
    else
      notify_package_unavailable!
    end
  end
end
uninstall() click to toggle source
# File lib/active_scripts/packages/ruby.rb, line 46
def uninstall
  if package_installed?("ruby -v")
    output = ask("   [?] Which version? ") { |q| q.default = "2.2.2" }
    execute_command!("rbenv uninstall #{output}")
    say_ok("   Uninstallation complete!")
  else
    notify_package_missing!
  end
end
upgrade() click to toggle source
# File lib/active_scripts/packages/ruby.rb, line 37
def upgrade
  if package_installed?("ruby -v")
    execute_command!("gem update --system")
    say_ok("   Upgrade complete!")
  else
    notify_package_missing!
  end
end