背景
趣味でRailsプロジェクトを立ち上げRails Consoleを開いたところ、普段見るpryではなくirbでした。
ああ、ここもgemの力でpryになってたんだなあ。 ということで、見慣れたpryにするためにgemを追加しました。
導入
Ruby: 2.7.1 Rails: 6.0.3.3
pry-rails
pry-rails はその名の通り、Railsでpryを使うためのgemです。
before
after
プロパティごとに改行されるようになり、見やすくなりました。
pry-byebug
pry-byebugはデバッグをしやすくするgemです。 流れで入れました。
byebugに関しては、以下の記事でわかりやすく解説されていました。
cf. byebugでRubyスクリプトをコマンドラインデバッグする - Qiita
awesome_print
awesome_print はRuby Objectをインデント付きに&カラフルに表示してくれるgemです。
インデントされていていい感じですね〜
常に利用したい場合は PRY integration に従って .pryrc
を作成し以下を記述します。
require "awesome_print" AwesomePrint.
Error loading /app/.pryrc: cannot load such file -- awesome_print
のエラーが出るときは?
こちらのコミット にあるように $LOAD_PATH
を指定しましょう。
warning: Capturing the given block using Proc.new is deprecated; use
&blockinstead
が表示される
Ruby2.7以上の場合、以上の警告が表示される可能性があります。
原因は、Ruby2.7から「メソッドに渡されたブロックを(ブロックなしの)Proc.newやprocで受けるとwarningを表示」するようになったため、です。
cf. Ruby 2.7.0-preview2がリリース|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社
gem側で、issueもPRも既に作られているようです。 マージされたら解消されるので、マージを待ちましょう。
- Proc.new is deprecated; use `&block` instead · Issue #382 · awesome-print/awesome_print · GitHub
- Fixes warning: Capturing the given block using Proc.new is deprecated; use `&block` instead (ruby 2.7.0 error) by dahal · Pull Request #385 · awesome-print/awesome_print · GitHub
まとめ
既存のプロジェクトにジョインすると、先人の知恵でこういう便利ツールが予め入っているときがあります。 それらがつい標準だと思ってしまいがちなので、まっさらなプロジェクトを立ち上げて本来を知るのは大事ですね。