mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-30 06:03:40 +08:00
Added bundler-exec plugin
This commit is contained in:
parent
3552423de3
commit
9e8194355c
37
plugins/bundler-exec/bundler-exec.plugin.zsh
Normal file
37
plugins/bundler-exec/bundler-exec.plugin.zsh
Normal file
|
@ -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
|
Loading…
Reference in New Issue
Block a user