Ruby é excepcionalmente bem adequado para construir DSLs internos (Domain-Specific Languages) — APIs que leem como uma mini-linguagem especializada para um domínio. A sintaxe flexível do Ruby (parênteses opcionais, blocos), metaprogramação e instance_eval tornam possível criar DSLs expressivos e legíveis. É por isso que Rails, RSpec e muitas ferramentas Ruby têm APIs tão elegantes e declarativas.
Como uma DSL se parece (você já viu)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
