REPLは対話型評価環境だって。Read-eval-print loopなんだって。
インストールするだけならgem install pryでOKらしいけど、rails console上で使うにはpry-railsをインストールする必要がある。似たようなのいっぱいあるね。
pry-railsでPryを組み込む
gem 'pry-rails', group: [:development, :test]Gemfileにこれを書いてbundle install。group以降は環境設定。
~/work/gem_sample$rails cそうすると、あ、ほんとだ。rails cでpryが起動してきた。
Loading development environment (Rails 4.1.1)
[1] pry(main)>
Pryを使ってみる
Pry上ではlsでスコープ内の変数やメソッドの一覧が出る。ふーん。1] pry(main)> lscdで移動すると、場所によりlsのとる対象が変わる。
Rails::ConsoleMethods#methods: app controller helper new_session reload!
self.methods: inspect to_s
locals: _ __ _dir_ _ex_ _file_ _in_ _out_ _pry_
Pry-railsで追加されるコマンド
recognaize-pathこの辺。
show-middleware
show-model
show-models
show-routes
show-modelは引数にモデルの名前をとります。
[2] pry(main)> show-model Tweet
Tweet
id: integer
body: string
user_id: integer
created_at: datetime
updated_at: datetime
belongs_to :user
Pryでブレークポイントを設定する
ソースコードにbinding.pryを入れると、プログラムが中断されて、その状態のままコンソールが立ち上がる。exitで次の処理へ進む。Pryでステップ実行を行う
ステップ実行を行うにはbyebugが必要で、Pryとの連携にはpry-byebugというgemを使う。gem 'pry-byebug', group: [:development, :test]
プログラムが中断したところでnextかstepと入力すると次の処理に移る。これで一つずつ処理を追って行ける。なんか便利そう。その他の追加コマンドはhelpで確認できる。
0 件のコメント:
コメントを投稿