commit
9e601c23f1
2 changed files with 35 additions and 11 deletions
@ -1,3 +1,38 @@ |
||||
alias be="bundle exec" |
||||
alias bi="bundle install" |
||||
alias bl="bundle list" |
||||
alias bu="bundle update" |
||||
|
||||
# The following is based on https://github.com/gma/bundler-exec |
||||
|
||||
bundled_commands=(cap capify cucumber heroku rackup rails rake rspec ruby shotgun spec spork thin unicorn unicorn_rails) |
||||
|
||||
## Functions |
||||
|
||||
_bundler-installed() { |
||||
which bundle > /dev/null 2>&1 |
||||
} |
||||
|
||||
_within-bundled-project() { |
||||
local check_dir=$PWD |
||||
while [ "$(dirname $check_dir)" != "/" ]; do |
||||
[ -f "$check_dir/Gemfile" ] && return |
||||
check_dir="$(dirname $check_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