クイックリファレンス

Pry Ruby REPL チートシート

Pryクイックリファレンス:高機能なRuby開発者向けコンソール、コード内省、ソースコード閲覧、状態遷移、Railsデバッグ手法。

· 公開日

Pry は、ソースコード閲覧やシンタックスハイライト、オブジェクト状態遷移を備えたRubyの高機能なランタイム開発コンソール(IRB代替)です。

基本的なナビゲーションとコンテキスト切り替え

# オブジェクトやクラスの内部へスコープを移動(ディレクトリ移動のような感覚)
[1] pry(main)> cd Array
[2] pry(Array):1> cd- ..
[3] pry(main)> cd User.first

# 現在のバインディングのネスト深度を確認
[4] pry(User):2> nesting

コードとドキュメントの内省 (Introspection)

# メソッドのソースコードをコンソール上で直接閲覧
show-source Array#select
show-source User#full_name

# メソッドの YARD / RDoc ドキュメントを表示
show-doc Array#compact

# 名前に一致するメソッドを検索
find-method each

変数とメソッドの一覧確認 (ls)

ls           # メソッド、ローカル変数、インスタンス変数を一覧表示
ls -m        # 現在のオブジェクトに定義されているインスタンスメソッドを表示
ls -M        # 現在のクラスに定義されているクラスメソッドを表示
ls -l        # ローカル変数の一覧表示
ls -i        # インスタンス変数 (@vars) の一覧表示
ls -c        # スコープ内に定義された定数を表示
ls -G regex  # 正規表現で出力を絞り込み

セッション内のデバッグ

# Rubyコード内の任意の場所でPryコンソールを起動
require 'pry'
binding.pry
  • wtf?: 直近に発生した例外のバックトレースを表示。
  • hist: 入力履歴を表示。
  • edit Object#method: 設定された $EDITOR でメソッド定義ファイルを直接開く。

Rails との統合 (pry-rails)

Gemfile に pry-rails を追加:

group :development, :test do
  gem 'pry-rails'
end

rails console 内で利用可能なコマンド:

show-models      # データベーススキーマとモデルのリレーションを一覧表示
show-routes      # アプリケーションのルーティング一覧を表示
show-middleware  # Rackミドルウェアスタックを表示

参考資料

関連テーマ