crnixon (owner)

Revisions

  • 5b579a crnixon Mon Aug 03 11:31:50 -0700 2009
  • c719f9 crnixon Mon Aug 03 11:28:39 -0700 2009
  • e6e9db crnixon Mon Aug 03 11:27:32 -0700 2009
gist: 160738 Download_button fork
public
Public Clone URL: git://gist.github.com/160738.git
Embed All Files: show embed
ruby_switcher.sh #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
export ORIGINAL_PATH=$PATH
 
function use_system_ruby {
 export MY_RUBY_HOME=/usr
 export GEM_HOME=~/.gem/ruby/1.8
 update_path
}
 
function use_jruby {
 export MY_RUBY_HOME=~/.ruby_versions/jruby-1.3.1
 export GEM_HOME=~/.gem/jruby/1.8
 alias ruby_ng="jruby --ng"
 alias ruby_ng_server="jruby --ng-server"
 update_path
}
 
function install_jruby {
  mkdir -p ~/.ruby_versions && pushd ~/.ruby_versions &&
  curl -O -L --silent http://dist.codehaus.org/jruby/1.3.1/jruby-bin-1.3.1.zip &&
  rm -rf jruby-1.3.1 &&
  jar xf jruby-bin-1.3.1.zip &&
  ln -sf ~/.ruby_versions/jruby-1.3.1/bin/jruby ~/.ruby_versions/jruby-1.3.1/bin/ruby &&
  ln -sf ~/.ruby_versions/jruby-1.3.1/bin/jgem ~/.ruby_versions/jruby-1.3.1/bin/gem &&
  ln -sf ~/.ruby_versions/jruby-1.3.1/bin/jirb ~/.ruby_versions/jruby-1.3.1/bin/irb &&
  chmod +x ~/.ruby_versions/jruby-1.3.1/bin/{jruby,jgem,jirb,jrubyc} &&
  cd ~/.ruby_versions/jruby-1.3.1/tool/nailgun && make &&
  rm -rf ~/.ruby_versions/jruby-bin-1.3.1.zip &&
  use_jruby && install_jruby_openssl && install_rake &&
  popd
}
 
function use_jruby_120 {
 export MY_RUBY_HOME=~/.ruby_versions/jruby-1.2.0
 export GEM_HOME=~/.gem/jruby/1.8
 update_path
}
 
function install_jruby_120 {
  mkdir -p ~/.ruby_versions && pushd ~/.ruby_versions &&
  curl -O -L --silent http://dist.codehaus.org/jruby/1.2.0/jruby-bin-1.2.0.zip &&
  rm -rf jruby-1.2.0 &&
  jar xf jruby-bin-1.2.0.zip &&
  ln -sf ~/.ruby_versions/jruby-1.2.0/bin/jruby ~/.ruby_versions/jruby-1.2.0/bin/ruby &&
  ln -sf ~/.ruby_versions/jruby-1.2.0/bin/jgem ~/.ruby_versions/jruby-1.2.0/bin/gem &&
  ln -sf ~/.ruby_versions/jruby-1.2.0/bin/jirb ~/.ruby_versions/jruby-1.2.0/bin/irb &&
  chmod +x ~/.ruby_versions/jruby-1.2.0/bin/{jruby,jgem,jirb} &&
  rm -rf ~/.ruby_versions/jruby-bin-1.2.0.zip &&
  use_jruby_120 && install_jruby_openssl && install_rake &&
  popd
}
 
function use_ree_186 {
 export MY_RUBY_HOME=~/.ruby_versions/ruby-enterprise-1.8.6-20090610
 export GEM_HOME=~/.gem/ruby/1.8
 update_path
}
 
function install_ree_186 {
  mkdir -p ~/tmp && mkdir -p ~/.ruby_versions &&
  pushd ~/tmp
  curl --silent -L -O http://rubyforge.org/frs/download.php/58677/ruby-enterprise-1.8.6-20090610.tar.gz &&
  tar xzf ruby-enterprise-1.8.6-20090610.tar.gz &&
  cd ruby-enterprise-1.8.6-20090610 &&
  ./installer -a $HOME/.ruby_versions/ruby-enterprise-1.8.6-20090610 --dont-install-useful-gems &&
  cd ~/tmp &&
  rm -rf ~/tmp/ruby-enterprise-1.8.6-20090610 ruby-enterprise-1.8.6-20090610.tar.gz &&
  use_ree_186 && install_rake &&
  popd
}
 
function use_ruby_191 {
 export MY_RUBY_HOME=~/.ruby_versions/ruby-1.9.1-p129
 export GEM_HOME=~/.gem/ruby/1.9
 update_path
}
 
function install_ruby_191 {
  install_ruby_from_source "1.9" "1" "129" &&
  use_ruby_191 && install_rake && popd
}
 
 
function use_ruby_186 {
 export MY_RUBY_HOME=~/.ruby_versions/ruby-1.8.6-p369
 export GEM_HOME=~/.gem/ruby/1.8
 update_path
}
 
function install_ruby_186 {
  install_ruby_from_source "1.8" "6" "369" &&
  use_ruby_186 && install_rake && popd
}
 
function use_ruby_187 {
 export MY_RUBY_HOME=~/.ruby_versions/ruby-1.8.7-p174
 export GEM_HOME=~/.gem/ruby/1.8
 update_path
}
 
function install_ruby_187 {
  install_ruby_from_source "1.8" "7" "174" &&
  use_ruby_187 && install_rake && popd
}
 
function install_ruby_from_source {
  local ruby_major=$1
  local ruby_minor=$2
  local patch_level=$3
  local ruby_version="ruby-$1.$2-p$patch_level"
  local url="ftp://ftp.ruby-lang.org/pub/ruby/$ruby_major/$ruby_version.tar.gz"
 
  mkdir -p ~/tmp && mkdir -p ~/.ruby_versions && rm -rf ~/.ruby_versions/$ruby_version &&
  pushd ~/tmp &&
  curl --silent -L -O $url &&
  tar xzf $ruby_version.tar.gz &&
  cd $ruby_version &&
  ./configure --prefix=$HOME/.ruby_versions/$ruby_version --enable-shared &&
  make && make install && cd ~/tmp &&
  rm -rf $ruby_version.tar.gz $ruby_version
}
 
function install_rake {
  gem install -q --no-ri --no-rdoc rake
}
 
function install_jruby_openssl {
  gem install -q --no-ri --no-rdoc jruby-openssl
}
 
function update_path {
 export PATH=$GEM_HOME/bin:$MY_RUBY_HOME/bin:$ORIGINAL_PATH
 export RUBY_VERSION="$(ruby -v | head -1 | colrm 2)$(ruby -v | head -1 | cut -d ' ' -f 2)"
 display_ruby_version
}
 
function display_ruby_version {
 if [[ $SHELL =~ "bash" ]]; then
echo "Using `ruby -v`"
 fi
 # On ZSH, show it on the right PS1
 export RPS1=$RUBY_VERSION
}
 
use_system_ruby