LoginSignup
3
4

More than 5 years have passed since last update.

rubyだったりbundle exec rubyだったりするのが面倒だったのでどうにかする

Posted at

bundleで管理しているプロジェクトかそうじゃないかを考えながら、「ruby test.rb」したり「bundle exec ruby test.rb」したりするのが辛くなってきたので、適当に判断してくれるようなシェルスクリプトを書いたらものすごく捗るようになりました。

「bundle check」の結果で判定するだけの簡単なスクリプトですが、いい感じに役に立ってくれています。ついでに、引数がない時はirbを起動するようにもしてみました。

かならずbundle checkする分ちょっと動作が遅くなりますが、まぁ許容範囲内です。

rb
#!/bin/bash
bundle check 2>&1 > /dev/null
case $? in
    0)
        if [[ $# == 0 ]]; then
            bundle console
        else
            bundle exec ruby "$*"
        fi
        ;;
    10)
        if [[ $# == 0 ]]; then
            irb
        else
            ruby "$*"
        fi
        ;;
    *)
        bundle check
        ;;
esac

ちなみに、vimのquickrunで実行する対象にしたらもっと捗りました。(私はこのスクリプトを「rb」で実行できるようにしてます。)

.vimrc
 let g:quickrun_config = {
             \ 'ruby': { 'command': 'rb' }
             \ }

前までは、vimのquickrunでrubyをbundle exec rubyする方法 に従って設定していたのですが、これだと、いちいち「:setl ft=ruby.bundle」するのが面倒だったんですよね。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4