putsデバッグを少し便利に

こんにちは、tsuka05です。putsデバッグしてますか?

puts_debuggererはputsデバッグを少し便利にしてくれるライブラリです。

require 'pd' することによって、pd メソッドが使えるようになります。

# /Users/User/trivia_app.rb      # line 1
require 'pd'                     # line 2
class TriviaApp                  # line 3
  def question                   # line 4
    bug_or_band = 'Beatles'      # line 5
    pd bug_or_band               # line 6
  end                            # line 7
end                              # line 8
TriviaApp.new.question           # line 9

こんなプログラムがあったとすると、次のような出力になります。

[PD] trivia_app.rb:6 in TriviaApp.question
   > pd bug_or_band               # line 6
  => "Beatles"

header: truefooter: true といったオプションを与えることによって、ヘッダやフッタを出力して、他の出力に紛れても見つけやすくすることができます。h: :t, f: :t と省略することもできます。

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[PD] trivia_app.rb:6 in TriviaApp.question
   > pd bug_or_band, h: :t        # line 6
  => "Beatles"
[PD] trivia_app.rb:6 in TriviaApp.question
   > pd bug_or_band, f: :t        # line 6
  => "Beatles"
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

wrapper: true w: :t だと上下囲んでくれます。

********************************************************************************
[PD] trivia_app.rb:6 in TriviaApp.question
   > pd bug_or_band, w: :t        # line 6
  => "Beatles"
********************************************************************************

caller: true c: :t を指定するとstack traceを付けてくれます。

[PD] trivia_app.rb:6 in TriviaApp.question
   > pd bug_or_band, c: :t        # line 6
  => "Beatles"
     trivia_app.rb:9:in `<main>'

それでは、良いputsデバッグライフを。