Ruby est exceptionnellement bien adapté à la création de DSLs internes (Domain-Specific Languages) — des APIs qui se lisent comme un mini-langage spécialisé pour un domaine. La syntaxe flexible de Ruby (parenthèses optionnelles, blocs), la métaprogrammation et instance_eval permettent de créer des DSLs expressifs et lisibles. C'est pourquoi Rails, RSpec et de nombreux outils Ruby ont des APIs aussi élégantes et déclaratives.
À quoi ressemble un DSL (vous en avez vu)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
