Sha256: 81e667b8ae798283957827f171a3242a20f424f19d7751b617161e1d8c938ebd

Contents?: true

Size: 681 Bytes

Versions: 20

Compression:

Stored size: 681 Bytes

Contents

require 'rvm'

module SpecifiedRuby
  extend self

  def ensure!
    install unless installed?
    restart unless current?
    "true"
  end

  private

  def version
    File.read(".ruby-version").chomp
  end

  def gemset
    File.read(".ruby-gemset").chomp
  end

  def installed?
    installed_rubies = `rvm list strings`.split("\n")
    installed_rubies.include?(version)
  end

  def install
    system("rvm install #{version}") or exit 1
  end

  def current?
    RVM.use_from_path!(".")
    RVM.current.environment_name == [version, gemset].join("@")
  rescue RVM::IncompatibleRubyError
    false
  end

  def restart
    exec "rvm-exec #{$0} && rvm-exec $SHELL"
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
bard-0.49.0 install_files/specified_ruby.rb
bard-0.48.1 install_files/specified_ruby.rb
bard-0.48.0 install_files/specified_ruby.rb
bard-0.47.0 install_files/specified_ruby.rb
bard-0.46.0 install_files/specified_ruby.rb
bard-0.45.1 install_files/specified_ruby.rb
bard-0.45.0 install_files/specified_ruby.rb
bard-0.44.2 install_files/specified_ruby.rb
bard-0.44.1 install_files/specified_ruby.rb
bard-0.44.0 install_files/specified_ruby.rb
bard-0.43.2 install_files/specified_ruby.rb
bard-0.43.0 install_files/specified_ruby.rb
bard-0.42.0 install_files/specified_ruby.rb
bard-0.41.2 install_files/specified_ruby.rb
bard-0.41.1 install_files/specified_ruby.rb
bard-0.41.0 install_files/specified_ruby.rb
bard-0.40.1 install_files/specified_ruby.rb
bard-0.40.0 install_files/specified_ruby.rb
bard-0.39.0 install_files/specified_ruby.rb
bard-0.38.0 install_files/specified_ruby.rb