Inspecting Ruby's internals: Nodewrap A C extension for directly inspecting/manipulating the code in a running program Example: 1 irb(main):001:0> require 'nodewrap' 2 => true 3 irb(main):002:0> l = lambda { 1 + 1 } 4 => # 5 irb(main):003:0> l.body 6 => # 7 irb(main):004:0> l.body.members.each { |m| p [m, l[m]] } 8 ["recv", 2] 9 ["args", 2] 10 ["mid", 2]