I've been asked a few times by clients to give Ruby meta-programming training to other developers. The first time that this happened, I was lucky to stumble upon RubyQuiz #67 - metakoans.rb.
After using MetaKoans as a training tool for the first time, I realized that, while it was great for helping people to learn Ruby meta-programming, it didn't lend itself as easily as it could to being solved in an incremental fashion. For details on this, see my blog article on the topic.
I've rewritten the koans so that the solution can be developed more incrementally, and have saved the knowledge permutations that I made for each koan, to prove that the problem can be solved in a stepwise fashion.
If you're looking to learn Ruby meta-programming, don't look at my knowledge files!