From 86fa4385c51d6778b1358d6f7134c1243feace87 Mon Sep 17 00:00:00 2001
From: Hakan Ensari <hakan.ensari@papercavalier.com>
Date: Fri, 29 Apr 2011 10:59:59 +0100
Subject: Rails 3 aliases now work with Rails 2 as well.

---
 plugins/rails3/rails3.plugin.zsh | 34 +++++++++++++++++++++++++++-------
 1 file changed, 27 insertions(+), 7 deletions(-)

(limited to 'plugins/rails3')

diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh
index 6bf2ba088..f669ef047 100644
--- a/plugins/rails3/rails3.plugin.zsh
+++ b/plugins/rails3/rails3.plugin.zsh
@@ -1,10 +1,30 @@
-alias rs='ruby script/rails server'
-alias rg='ruby script/rails generate'
-alias rd='ruby script/rails destroy'
-alias rp='ruby script/rails plugin'
+# Rails 3 aliases, backwards-compatible with Rails 2.
+
+function _bundle_command {
+  if command -v bundle && [ -e "Gemfile" ]; then
+    bundle exec $@
+  else
+    $@
+  fi
+}
+
+function _rails_command () {
+  if [ -e "script/server" ]; then
+    ruby script/$@
+  else
+    ruby script/rails $@
+  fi
+}
+
+alias rc='_rails_command console'
+alias rd='_rails_command destroy'
+alias rdb='_rails_command dbconsole'
 alias rdbm='rake db:migrate db:test:clone'
-alias rdbmr='rake db:migrate && rake db:migrate:redo'
-alias rc='ruby script/rails console'
-alias rd='ruby script/rails server --debugger'
+alias rg='_rails_command generate'
+alias rp='_rails_command plugin'
+alias rs='_rails_command server'
+alias rsd='_rails_command server --debugger'
 alias devlog='tail -f log/development.log'
 
+alias rspec='_bundle_command rspec'
+alias cuke='_bundle_command cucumber'
-- 
cgit v1.2.3-70-g09d2