Sha256: b25256f0aad56a718ad99149f67554cd278797b86b3c77944ea4e86efb6ae9c6
Contents?: true
Size: 957 Bytes
Versions: 8
Compression:
Stored size: 957 Bytes
Contents
module SpecifiedRuby extend self def ensure! return "true" if native? install unless installed? restart unless current? "true" end private def native? begin require "rvm" false rescue LoadError native_version == version end end def native_version "ruby-#{`ruby -e 'puts RUBY_VERSION'`.chomp}" end 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? require "rvm" 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" if ENV["RAILS_ENV"] == "development"}" end end
Version data entries
8 entries across 8 versions & 1 rubygems