This is nothing more than linked list of resources for learning how to write DSLs with Ruby, but also DSLs in general.
(DSL stands for Domain Specific Language and which is a programming language that is closely modelled after the domain it is used in. Wikipedia has a good introductory article.)
Obie Fernandez wrote the reference on Rails. In this podcast he speaks about what a DSL is, the difference between internal and external DSLs as well as the importance of the flexibly syntax of the host language in order to make DSLs worthwhile.
Martin Fowler is a well known expert in Software Engineering specializing in patterns. In this podcast he talks with Rebecca Parsons about the definition of DSL, Internal vs. External DSLs, reasons to use DSLs and reasons not to and the DSL lifecycle.
Last but not least, there is a Ruby library which let’s you map a DSL to your Ruby objects in a snap.