1c33f719b9fc9819c8b2153666dafdc3d780b1d8

Author
Robby Russell <robby@planetargon.com>
Committer
Robby Russell <robby@planetargon.com>
Date

Message

Merged pull request #311 from papercavalier/rails3.

Rails 3 aliases now work with Rails 2 as well.

Diff

 1diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh
 2index 6bf2ba0882a8dcbff97412725beb4f45c00b4c6f..f669ef047c74e687edd446649f9d74e0c6eed87d 100644
 3--- a/plugins/rails3/rails3.plugin.zsh
 4+++ b/plugins/rails3/rails3.plugin.zsh
 5@@ -1,10 +1,30 @@
 6-alias rs='ruby script/rails server'
 7-alias rg='ruby script/rails generate'
 8-alias rd='ruby script/rails destroy'
 9-alias rp='ruby script/rails plugin'
10+# Rails 3 aliases, backwards-compatible with Rails 2.
11+
12+function _bundle_command {
13+  if command -v bundle && [ -e "Gemfile" ]; then
14+    bundle exec $@
15+  else
16+    $@
17+  fi
18+}
19+
20+function _rails_command () {
21+  if [ -e "script/server" ]; then
22+    ruby script/$@
23+  else
24+    ruby script/rails $@
25+  fi
26+}
27+
28+alias rc='_rails_command console'
29+alias rd='_rails_command destroy'
30+alias rdb='_rails_command dbconsole'
31 alias rdbm='rake db:migrate db:test:clone'
32-alias rdbmr='rake db:migrate && rake db:migrate:redo'
33-alias rc='ruby script/rails console'
34-alias rd='ruby script/rails server --debugger'
35+alias rg='_rails_command generate'
36+alias rp='_rails_command plugin'
37+alias rs='_rails_command server'
38+alias rsd='_rails_command server --debugger'
39 alias devlog='tail -f log/development.log'
40 
41+alias rspec='_bundle_command rspec'
42+alias cuke='_bundle_command cucumber'