Ruby è straordinariamente adatto per costruire DSL interni (Domain-Specific Languages) — API che leggono come un mini-linguaggio specializzato per un dominio. La sintassi flessibile di Ruby (parentesi opzionali, blocchi), la metaprogrammazione e instance_eval rendono possibile creare DSL espressivi e leggibili. Ecco perché Rails, RSpec e molti strumenti Ruby hanno API così eleganti e dichiarative.
Perché è importante
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
