In Defense of Ruby Metaprogramming

Ruby Metaprogramming