at main 2.5 kB view raw
1#!/usr/bin/env bash 2 3# This is an RVM Project .rvmrc file, used to automatically load the ruby 4# development environment upon cd'ing into the directory 5 6# First we specify our desired <ruby>[@<gemset>], the @gemset name is optional, 7# Only full ruby name is supported here, for short names use: 8# echo "rvm use 3.0.2@blog" > .rvmrc 9environment_id="ruby-3.0.2@blog" 10 11# Uncomment the following lines if you want to verify rvm version per project 12# rvmrc_rvm_version="1.29.12-next (master)" # 1.10.1 seems like a safe start 13# eval "$(echo ${rvm_version}.${rvmrc_rvm_version} | awk -F. '{print "[[ "$1*65536+$2*256+$3" -ge "$4*65536+$5*256+$6" ]]"}' )" || { 14# echo "This .rvmrc file requires at least RVM ${rvmrc_rvm_version}, aborting loading." 15# exit 1 16# } 17 18# First we attempt to load the desired environment directly from the environment 19# file. This is very fast and efficient compared to running through the entire 20# CLI and selector. If you want feedback on which environment was used then 21# insert the word 'use' after --create as this triggers verbose mode. 22if [[ -d "${rvm_path:-$HOME/.rvm}/environments" 23 && -s "${rvm_path:-$HOME/.rvm}/environments/$environment_id" ]] 24then 25 \. "${rvm_path:-$HOME/.rvm}/environments/$environment_id" 26 for __hook in "${rvm_path:-$HOME/.rvm}/hooks/after_use"* 27 do 28 if [[ -f "${__hook}" && -x "${__hook}" && -s "${__hook}" ]] 29 then \. "${__hook}" || true 30 fi 31 done 32 unset __hook 33 if (( ${rvm_use_flag:=1} >= 1 )) # display automatically 34 then 35 if [[ $- == *i* ]] # check for interactive shells 36 then printf "%b" "Using: $(tput setaf 2 2>/dev/null)$GEM_HOME$(tput sgr0 2>/dev/null)\n" # show the user the ruby and gemset they are using in green 37 else printf "%b" "Using: $GEM_HOME\n" # don't use colors in non-interactive shells 38 fi 39 fi 40else 41 # If the environment file has not yet been created, use the RVM CLI to select. 42 rvm --create use "$environment_id" || { 43 echo "Failed to create RVM environment '${environment_id}'." 44 return 1 45 } 46fi 47 48# If you use bundler, this might be useful to you: 49# if [[ -s Gemfile ]] && { 50# ! builtin command -v bundle >/dev/null || 51# builtin command -v bundle | GREP_OPTIONS="" \command \grep $rvm_path/bin/bundle >/dev/null 52# } 53# then 54# printf "%b" "The rubygem 'bundler' is not installed. Installing it now.\n" 55# gem install bundler 56# fi 57# if [[ -s Gemfile ]] && builtin command -v bundle >/dev/null 58# then 59# bundle install | GREP_OPTIONS="" \command \grep -vE '^Using|Your bundle is complete' 60# fi