Posted at

Railsのコンソールをより便利にするpry-rails gem

More than 5 years have passed since last update.

rubyを使っている人なら皆使っていると思われるpryですが(pryについてはRuby - ググるよりもまずはpry - Qiita [キータ]などを参考に),そのpryをrails console代わりに使うときに便利ユーティリティを提供してくれるpry-rails gemについて紹介します.


pry-railsが提供するコマンド


  • show-middleware

  • show-model

  • show-models

  • show-routes

  • recognize-path


show-middleware

名前の通り,そのアプリケーションで利用しているミドルウェアの一覧を表示する.(名前はshow-middlewaresの方が良い気がする)

デフォルトでもこんなミドルウェアが利用されてるんだなーと眺めるのによい

[1] pry(main)> show-middleware

use Raven::Rack
use ActionDispatch::Static
use Rack::Lock
use ActiveSupport::Cache::Strategy::LocalCache
...


show-model

show-model Itemで,Itemモデルのカラムの型&名前やリレーションを表示してくれる.モデルを俯瞰したいときに便利.

[2] pry(main)> show-model Item

Item
id: integer
created_at: datetime
updated_at: datetime
...
belongs_to :user
has_many :comments
...


show-models

全てのモデルに対してshow-modelする.--grepオプションと組み合わせると便利かも.


show-routes

rake routesの結果を表示してくれる.show-routes --grep itemsなどgrepオプションも使えて便利.

(他に高速にrake routesを見る方法として,Railsサーバーが立ち上がっている状態で http://localhost:3000/rails/info へアクセスするという方法もある.)


recognize-path

Rails - Routingのテストをする - Qiita [キータ]で紹介したような,Qiita::Application.routes.recognize_pathを実行する.-m postのようにリクエストメソッドを指定もできる.

[1] pry(main)> recognize-path '/advent-calendar/2013'

{:action=>"index", :controller=>"advent_calendars", :year=>"2013"}