2012/05/30 pry-railsを使うよう編集
pry: http://pry.github.com/
pry-rails: https://github.com/rweng/pry-rails
インストール
gem install pry pry-doc pry-rails
pry-docはコアメソッド(Cで実装されているものなど)の情報を見るのに必要.
Railsで利用する
Gemfile
group :development do
gem 'pry'
gem 'pry-doc'
gem 'pry-rails'
end
以上をGemfileに書き,bundle
を実行すればrails c
でpryが実行されるようになる.
実行例
以下のようにクラスやオブジェクトを渡り歩いて色々操作できる.
pry-sample.log
$ rails c
[1] pry(main)> cd Item # Itemクラスに移動する
[2] pry(Item):1> self # self: Itemクラス
=> Item(id: integer, user_id: integer, created_at: datetime, updated_at: datetime, ...)
[3] pry(Item):1> first # Item.first
=> #<Item id: 1, user_id: 1, created_at: "2011-11-04 14:32:09", updated_at: "2011-11-04 14:32:09", ...>
[4] pry(Item):2> cd first # Item.firstに移動する
[5] pry(#<Item>):3> self # Item.first
=> #<Item id: 1, user_id: 1, created_at: "2011-11-04 14:32:09", updated_at: "2011-11-04 14:32:09", ... >
[6] pry(#<Item>):3> user
=> #<User id: 1, url_name: "yaotti", ...>
[7] pry(#<Item>):3> nesting # 移動した跡を見る
Nesting status:
--
0. main (Pry top level)
1. Item
2. #<Item>
[8] pry(#<Item>):3> .ls # shellのコマンドを実行するときは先頭に.を付ける
Capfile Guardfile Rakefile config doc public ...
[9] pry(#<Item>):3> ^D # ctrl-dやexitを実行すると,1つ前のスコープに戻る
[10] pry(Item):2>
ランタイムにpry実行
ソースコード内にbinding.pry
を仕込むと,実行時にその行のスコープでpryが実行される.
その他
show-methodやedit-methodコマンドなども便利.詳しくは https://github.com/pry/pry/wiki を参照.
http://qiita.com/items/2b36068cdf2e40e75c2d もまとまっている