Appendix C. A cheat sheet for Ruby’s DSL-friendly features
This appendix will assist you as you become familiar with the DSL-friendly features of Ruby. Please don’t treat this information as a comprehensive language overview. For a more complete and detailed discussion of the language and its syntax, see the references in section C.2.
Ruby is a dynamically typed OO language with strong features of reflective and generative metaprogramming. Ruby’s object model lets you change the behaviors of objects at runtime through reflection into its metamodel. You can also generate code during runtime through metaprogramming, which means that your DSL surface syntax is always concise. Table C.1 gives you a brief overview of the features of Ruby that make it a great language for designing DSLs.