u16suzuの blog

日々学んだことのメモブログです。

2016/8/1(mon)の日記

プロジェクトで使っている bundler で入れたgemの調査をするためのコマンドをbashで書いた。

Ruby 書くときは atom がメインエディタになりつつある。

RubyMineは重いので、コードリーディングの時だけ使っている。

### bundler でインストールした gem を編集したり、元に戻したりするコマンド
# gem の内部動作を調査する際に使う
# どちらのコマンドも操作対象のgemを引数で指定する必要がある
function gem_edit(){
  atom `bundle show $1`
}
alias gem_edit="gem_edit"
alias gem_restore="bundle exec gem pristine"

ただ、一つだけ問題があって、gemを書き換えた後に rails consoleを再起動しないと読み込んでくれない。

pry

binding.pry を書くと、gemのコードの中で処理を止めてpryで変数の中身を見たりできる。

Arelの定義位置を調べたい時、pryコンソールで show-source Arel とすると、arel のコードがどこで定義されているのかを調査することもできる。