[Ruby] gems: pry とデバッグ周辺

なんとなく整理できてきたのでソースをまとめます。

[markdown]
今回も引用先サイトで勉強させて頂きました。
ありがとうございます。

## インストール

pry と関連する gem を確認。

> * [debug – Rails4 今のところ最強なデバッグツール達 – Qiita](http://qiita.com/yusabana/items/8ce54577d959bb085b37)

“`ruby:Gemfile
group :development, :test do
gem ‘pry-doc’
gem ‘pry-rails’
gem ‘pry-stack_explorer’
if RUBY_VERSION >= ‘2.0.0’
gem ‘pry-byebug’
else
gem ‘pry-debugger’
gem ‘pry-remote’
end
end
“`

> * [Rails – Pry の簡易的なコマンドまとめ – Qiita](http://qiita.com/fakestarbaby/items/4a2fe11a817077a2ab96)

## pry

> * [pry/pry](https://github.com/pry/pry)

`~/.pryrc` が設定ファイル。

> * [#280 Pry with Rails – RailsCasts](http://railscasts.com/episodes/280-pry-with-rails?language=ja&view=asciicast)
> * [コラム – Ruby & Rails | 第3回 Pry ~IRBをより見やすく、より便利に~|CTC教育サービス 研修/トレーニング](http://www.school.ctc-g.co.jp/columns/masuidrive/masuidrive03.html)

– 適切なカラーリングやインデント等の表示による可読性向上。
– tab キーによるコード補完。
– コマンドの前に「.(ドット)」 付けることで Shell コマンドを直接呼び出せる。
– 便利な組み込みコマンド。[show-method, show-doc, ls, cd]
– binding.pry でブレークポイントを設置しデバッグ。

> * [Ruby デバッガー binding.pry – のんびりしているエンジニアの日記](http://nonbiri-tereka.hatenablog.com/entry/2014/06/25/113725)

その他

> * [若手エンジニア/初心者のためのRuby 2.1入門(2):Ruby 2.1の基本構文/基本文法まとめ&Pryの使い方 (1/7) – @IT](http://www.atmarkit.co.jp/ait/articles/1403/26/news030.html)

## pry-doc

> * [banister/pry-doc](https://github.com/banister/pry-doc)

– show-doc
– show-sorce

それぞれ ?, $ で代用できる。

> * [Ruby – ググるよりもまずはpry – Qiita [キータ]](http://qiita.com/Kokudori/items/2b36068cdf2e40e75c2d)

## pry-byebug

> * [deivid-rodriguez/pry-byebug](https://github.com/deivid-rodriguez/pry-byebug)
>
> Adds step, next, finish and continue commands and breakpoints to Pry using byebug.

`binding.pry` をより便利に。

“`ruby:~/.pryrc
if defined?(PryByebug)
Pry.commands.alias_command ‘c’, ‘continue’
Pry.commands.alias_command ‘s’, ‘step’
Pry.commands.alias_command ‘n’, ‘next’
Pry.commands.alias_command ‘f’, ‘finish’
end
“`

ただし `require ‘pry’` が必要でした。

> * [Railsコンソールを使ってコントローラのなかで色々試す – IwazerReport](http://www.iwazer.com/~iwazawa/diary/2013/03/rails-console-controller-debug.html)
> * [Ruby – rails console (や irb) でデバッガを使って gem とかの挙動を確認する方法 – Qiita [キータ]](http://qiita.com/hiroshi3110/items/3f4f824b79f12edfa2a5)
> * [Ruby – rails console の tips – Qiita [キータ]](http://qiita.com/snaka/items/eeb5dee96e44fca54a2e)

## pry-rails

> * [rweng/pry-rails](https://github.com/rweng/pry-rails)

`rails console` で `pry` を開いてくれる。

> * [Ruby – rails console の tips – Qiita](http://qiita.com/snaka/items/eeb5dee96e44fca54a2e)

## pry-stack_explore

> * [pry/pry-stack_explorer](https://github.com/pry/pry-stack_explorer)

理解できたら追記する。

> * [Rails – Pry の簡易的なコマンドまとめ – Qiita](http://qiita.com/fakestarbaby/items/4a2fe11a817077a2ab96#2-5)

## Awesome Print

> * [michaeldv/awesome_print](https://github.com/michaeldv/awesome_print)

利用したらまた追記する。

> * [Rails – Pry の簡易的なコマンドまとめ – Qiita](http://qiita.com/fakestarbaby/items/4a2fe11a817077a2ab96)
> * [debug – Rails4 今のところ最強なデバッグツール達 – Qiita](http://qiita.com/yusabana/items/8ce54577d959bb085b37#3-7)

## その他

利用したらまた追記する。

> * [Pryが真の力を発揮してくれる19個のコマンドとコマンドの自作方法[Rails] – 酒と泪とRubyとRailsと](http://morizyun.github.io/blog/pry-command-rails-ruby/)
> * [Pryの秘めた力を最大限引き出す4つの拡張機能[Rails] – 酒と泪とRubyとRailsと](http://morizyun.github.io/blog/pry-tips-rails-ruby/)

## 補遺

> * [Rubyistよ、irbを捨ててPryを使おう – TIM Labs](http://labs.timedia.co.jp/2011/12/rubyist-should-use-pry.html)
> * [“binding.pry”って実際のところは何なのだろう – Qiita](http://qiita.com/yui-knk/items/63a511d243323bec6fb8)
[/markdown]