The ruby2ruby gem allows you to peer into a class's methods and watch changes due to metaprogramming.
ruby2ruby is a gem created by the Seattle Ruby Brigade. You can install it, like any other gem, with gem install ruby2ruby. Once installed, it lets you peer inside a Class' methods.
Here I've created a simple class. One thing that is interesting, the interpreter expands attr_accessor into both attr_reader and attr_writer for me automatically. One of the requirements of Ruby2Ruby is that it works on Classes, not on instances:
123456789101112
irb(main):010:0> f=Foo.new(5)=> #<Foo:0x2b82e560d608 @fud=5>irb(main):011:0> Ruby2Ruby.translate fNoMethodError: undefined method `instance_methods' for #<Foo:0x2b82e560d608 @fud=5> from /usr/lib/ruby/gems/1.8/gems/ParseTree-2.1.1/lib/parse_tree.rb:115:in `parse_tree' from /usr/lib/ruby/gems/1.8/gems/ParseTree-2.1.1/lib/parse_tree.rb:99:in `parse_tree' from /usr/lib/ruby/gems/1.8/gems/ParseTree-2.1.1/lib/parse_tree.rb:71:in`translate' from /usr/lib/ruby/gems/1.8/gems/ruby2ruby-1.1.8/lib/ruby2ruby.rb:31:in `translate' from (irb):11irb(main):012:0> Ruby2Ruby.translate f.class=> "class Foo < Object\n attr_reader :fud\n\n attr_writer :fud\n\n def initialize(fud)\n @fud = fud\n end\nend"