Metaprogramming Ruby Notes