From 9e8194355c1a4f69dc52fbe2699fbce1be5c6493 Mon Sep 17 00:00:00 2001
From: Bodo Tasche <bodo@wannawork.de>
Date: Sun, 12 Jun 2011 13:13:39 +0200
Subject: Added bundler-exec plugin

---
 plugins/bundler-exec/bundler-exec.plugin.zsh | 37 ++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 plugins/bundler-exec/bundler-exec.plugin.zsh

(limited to 'plugins')

diff --git a/plugins/bundler-exec/bundler-exec.plugin.zsh b/plugins/bundler-exec/bundler-exec.plugin.zsh
new file mode 100644
index 000000000..966725976
--- /dev/null
+++ b/plugins/bundler-exec/bundler-exec.plugin.zsh
@@ -0,0 +1,37 @@
+# This plugin is based on https://github.com/gma/bundler-exec
+# modify the BUNDLED_COMMANDS if needed
+
+BUNDLED_COMMANDS=(cucumber heroku rackup rails rake rspec ruby shotgun spec spork)
+
+## Functions
+
+bundler-installed()
+{
+    which bundle > /dev/null 2>&1
+}
+
+within-bundled-project()
+{
+    local dir="$(pwd)"
+    while [ "$(dirname $dir)" != "/" ]; do
+        [ -f "$dir/Gemfile" ] && return
+        dir="$(dirname $dir)"
+    done
+    false
+}
+
+run-with-bundler()
+{
+    local command="$1"
+    shift
+    if bundler-installed && within-bundled-project; then
+        bundle exec $command "$@"
+    else
+        $command "$@"
+    fi
+}
+
+## Main program
+for CMD in $BUNDLED_COMMANDS; do
+   alias $CMD="run-with-bundler $CMD"
+done
-- 
cgit v1.2.3-70-g09d2