module Perkins::Build::Script::RVM
Public Instance Methods
announce()
click to toggle source
Calls superclass method
# File lib/perkins/build/script/rvm.rb, line 19 def announce super cmd 'ruby --version' if config[:ruby] cmd 'chruby --version' else cmd 'rvm --version' end end
cache_slug()
click to toggle source
Calls superclass method
# File lib/perkins/build/script/rvm.rb, line 5 def cache_slug super << "--rvm-" << ruby_version.to_s end
export()
click to toggle source
Calls superclass method
# File lib/perkins/build/script/rvm.rb, line 9 def export super set 'TRAVIS_RUBY_VERSION', config[:rvm], echo: false end
setup()
click to toggle source
Calls superclass method
# File lib/perkins/build/script/rvm.rb, line 14 def setup super config[:ruby] ? setup_chruby : setup_rvm end
Private Instance Methods
ruby_version()
click to toggle source
# File lib/perkins/build/script/rvm.rb, line 31 def ruby_version config[:rvm].to_s.gsub(/-(1[89]|2[01])mode$/, '-d\1') end
setup_chruby()
click to toggle source
# File lib/perkins/build/script/rvm.rb, line 35 def setup_chruby echo 'BETA: Using chruby to select Ruby version. This is currently a beta feature and may change at any time."', color: :yellow cmd "curl -sLo ~/chruby.sh https://gist.githubusercontent.com/henrikhodne/a01cd7367b12a59ee051/raw/chruby.sh", echo: false cmd "source ~/chruby.sh", echo: false cmd "chruby #{config[:ruby]}" end
setup_rvm()
click to toggle source
# File lib/perkins/build/script/rvm.rb, line 42 def setup_rvm file '$rvm_path/user/db', %w( rvm_remote_server_url3=https://s3.amazonaws.com/travis-rubies/binaries rvm_remote_server_type3=rubies rvm_remote_server_verify_downloads3=1 ).join("\n") if ruby_version =~ /ruby-head/ fold("rvm.1") do echo 'Setting up latest %s' % ruby_version, ansi: :yellow cmd "rvm get stable", assert: false if ruby_version == 'jruby-head' set 'ruby_alias', "`rvm alias show #{ruby_version} 2>/dev/null`" cmd "rvm alias delete #{ruby_version}", assert: false cmd "rvm remove ${ruby_alias:-#{ruby_version}} --gems", assert: false cmd "rvm remove #{ruby_version} --gems --fuzzy", assert: false cmd "rvm install #{ruby_version} --binary" end cmd "rvm use #{ruby_version}" elsif ruby_version == 'default' self.if "-f .ruby-version" do |sh| sh.echo 'BETA: Using Ruby version from .ruby-version. This is a beta feature and may be removed in the future.', color: :yellow fold("rvm.1") { sh.cmd "rvm use . --install --binary --fuzzy" } end self.else "rvm use default" else fold("rvm.1") { cmd "rvm use #{ruby_version} --install --binary --fuzzy" } end end