my blog
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