Metaprogramming in Ruby: It’s All About the Self « Katz Got Your Tongue? http://yehudakatz.com/2009/11/15/metaprogramming-in-ruby-its-all-about-the-self/
Very clearly written
Metaprogramming in Ruby: It’s All About the Self