I’m a bit late in posting about it (due to extreme busyness at home and at work), but Devin Mullins gave a nice overview of metaprogramming with Ruby at the March Northern VA Ruby Users Group meeting. Devin’s talk, entitled “The Tao of Metaprogramming”, was more of an exploration of Ruby’s metaprogramming support in an irb session than the standard PowerPoint/Keynote presentation. He covered the reflection support in Ruby to see which methods a class responds to as well as how to add methods dynamically to object instances and classes using define_method, instance_method, class_eval, method_missing and eval. Ostensibly, the talk was subtitled “ActiveRecord’s Not Black Magic” but due to the number of questions/discussion we didn’t get into ActiveRecord that much — Devin did start to discuss it but I felt that we only scratched the surface. Overall, I though it was a very good talk and cleared up some of my questions regarding metaprogramming in Ruby. I still wish that someone (preferably the Pragmatic Programmers) would publish a book with a focus on metaprogramming in Ruby and writing domain specific languages. Why’s discussion of writing a DSL in Ruby called Dwemthy’s Array is nice (and funny), but I’d like to see something deeper. Perhaps, I’m wrong and it’s not enough for a full length book, but I’d be willing to pay for a Fridays type of short PDF if it were available.