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.