RubyTapas
Short Screencasts of Gourmet Ruby, by Avdi Grimm
In episode 27, we switched from adding generated methods directly to a class, to using anonymous modules. In this episode, we consolidate our metaprogramming modules, and make them more self-documenting.
Read More