2012年6月6日水曜日

pry

半信半疑で入れたpryでしたが、思ったより重宝します。
色々なところで紹介されているので詳細は割愛しますが、個人的には

  • 外部エディタと連携
  • APIの検索やドキュメントの閲覧
  • デバッグの連携
あたりで使用しています。

pryはirbの代替というのが主な位置付けだと思いますが、今までirbでやることは大概がちょっとしたコードの試し書きみたいなもの。
ワンライナーで書ける程度ならよいのですが、1メソッド程度でも使い辛さを感じていました。
pryはラインエディタも備えていますが、使い慣れたエディタを使うのが一番かと思います。

2番目のドキュメント閲覧については、ウェブを検索することが多かったのですがちょっとだけ確認したい時などやはり面倒。
emacs使ってるので連動はできるのですが、あまりしっくりきていませんでした。
pryでお試しコード書く時も、そのままの状態でドキュメントを確認できるので作業がスムーズです。

3番目のデバッグですが、どうしてもデバッガはIDE付属のものをはじめ馴染めるものが少ない印象です。
その点、pryであればbinding.pryだけでブレイクポイント設定できるし、条件付きであれば"binding.pry if xxx"と書くだけ。
RSpec等でテストを自動にしていれば、「保存→テスト実行→ブレイクポイントで停止」となるので、非常にスムーズにデバッグがおこなえると思います。

インストールはgemで導入するのみ。

$ gem install pry pry-doc pry-nav
rvmでrubyをインストールした場合は
$ rvm docs generate
を実行しないと、ドキュメントが表示することができません。
これはpryに限ったことでなくriでも同様なのですが、最初これではまりました。
あとは、デバッグでステップ実行のためのエイリアスを設定しておきます。

~/.pryrc

Pry.commands.alias_command 'c', 'continue'
Pry.commands.alias_command 's', 'step'
Pry.commands.alias_command 'n', 'next'

0 件のコメント:

コメントを投稿