For ages I wanted to understand how to build DSLs with Ruby. After some Googling, I came up with a bunch of links.
- Evaluation Options in Ruby which covers all the ways to eval
- Creating DSLs with Ruby is a highly technical article on Ruby and DSL patterns
- Ruby DSL Blocks documents what Micah calls the DSL block pattern
- Seeing Metaclasses Clearly details how meta classes work in Ruby
- A Largely Functional Implementation of ‘with’ for Ruby details some proxy magic
- Rails acts_as_authenticated_user plugin process_login.rb
- Rails squirrel plugin has some great DSL magic