IRB で、以前に定義したメソッドのソースを表示できますか?

概要

IRB でメソッドを定義した場合、セッションの後半でそのソースを確認する方法はありますか?

> def my_method
>   puts "hi"
> end

後でいくつかの画面の出力を行うと、次のようなものが書けるようになりたいと思います

> source my_method

そして戻ってきます:

=> def my_method; puts "hi"; end;

これは可能でしょうか?

解決策

IRB にはありませんが、Pry にはこの機能が組み込まれています。

見よ:

pry(main)> def hello
pry(main)*   puts "hello my friend, it's a strange world we live in"
pry(main)*   puts "yes! the rich give their mistresses tiny, illuminated dying things"
pry(main)*   puts "and life is neither sacred, nor noble, nor good"
pry(main)* end
=> nil
pry(main)> show-method hello

From: (pry) @ line 1:
Number of lines: 5

def hello
  puts "hello my friend, it's a strange world we live in"
  puts "yes! the rich give their mistresses tiny, illuminated dying things"
  puts "and life is neither sacred, nor noble, nor good"
end
pry(main)>