Bundler plugin consolidation
| ... | ... |
@@ -1,3 +1,38 @@ |
| 1 | 1 |
alias be="bundle exec" |
| 2 | 2 |
alias bi="bundle install" |
| 3 |
+alias bl="bundle list" |
|
| 3 | 4 |
alias bu="bundle update" |
| 5 |
+ |
|
| 6 |
+# The following is based on https://github.com/gma/bundler-exec |
|
| 7 |
+ |
|
| 8 |
+bundled_commands=(cap capify cucumber heroku rackup rails rake rspec ruby shotgun spec spork thin unicorn unicorn_rails) |
|
| 9 |
+ |
|
| 10 |
+## Functions |
|
| 11 |
+ |
|
| 12 |
+_bundler-installed() {
|
|
| 13 |
+ which bundle > /dev/null 2>&1 |
|
| 14 |
+} |
|
| 15 |
+ |
|
| 16 |
+_within-bundled-project() {
|
|
| 17 |
+ local check_dir=$PWD |
|
| 18 |
+ while [ "$(dirname $check_dir)" != "/" ]; do |
|
| 19 |
+ [ -f "$check_dir/Gemfile" ] && return |
|
| 20 |
+ check_dir="$(dirname $check_dir)" |
|
| 21 |
+ done |
|
| 22 |
+ false |
|
| 23 |
+} |
|
| 24 |
+ |
|
| 25 |
+_run-with-bundler() {
|
|
| 26 |
+ local command="$1" |
|
| 27 |
+ shift |
|
| 28 |
+ if _bundler-installed && _within-bundled-project; then |
|
| 29 |
+ bundle exec $command "$@" |
|
| 30 |
+ else |
|
| 31 |
+ $command "$@" |
|
| 32 |
+ fi |
|
| 33 |
+} |
|
| 34 |
+ |
|
| 35 |
+## Main program |
|
| 36 |
+for cmd in $bundled_commands; do |
|
| 37 |
+ alias $cmd="_run-with-bundler $cmd" |
|
| 38 |
+done |
| ... | ... |
@@ -1,13 +1,5 @@ |
| 1 | 1 |
# Rails 3 aliases, backwards-compatible with Rails 2. |
| 2 | 2 |
|
| 3 |
-function _bundle_command {
|
|
| 4 |
- if command -v bundle && [ -e "Gemfile" ]; then |
|
| 5 |
- bundle exec $@ |
|
| 6 |
- else |
|
| 7 |
- $@ |
|
| 8 |
- fi |
|
| 9 |
-} |
|
| 10 |
- |
|
| 11 | 3 |
function _rails_command () {
|
| 12 | 4 |
if [ -e "script/server" ]; then |
| 13 | 5 |
ruby script/$@ |
| ... | ... |
@@ -25,6 +17,3 @@ alias rp='_rails_command plugin' |
| 25 | 25 |
alias rs='_rails_command server' |
| 26 | 26 |
alias rsd='_rails_command server --debugger' |
| 27 | 27 |
alias devlog='tail -f log/development.log' |
| 28 |
- |
|
| 29 |
-alias rspec='_bundle_command rspec' |
|
| 30 |
-alias cuke='_bundle_command cucumber' |