Everyone probably knows about these already, but, just in case, I just watched the first episode of Dave Thomas' excellent Ruby metaprogramming screencast and it was quite nice. Dave explains and diagrams singleton (or 'ghost', as he calls them) classes very clearly; I don't think I had ever really though through the concepts of "current class" or how self changes when expressions are being evaluated.
The screencasts are reasonably priced - $5 - and the first one was only 30 minutes, so they're manageable. I think I view these in the same way I view a book - if I learn _anything_ at all from it, it's worth the price.
Dave Thomas is pretty amazing - after 7 (8? 9?) years of doing Ruby he's still soldiering away on ruby-core, working through the nuts and bolts of various Ruby 1.9 features, Ruby 1.8 bugs, and so forth. Dave, you rock!