A Ruby kivételesen jól alkalmas belső DSL-ek (Domain-Specific Languages) — szakterületre specializálódott mini-nyelvekhez hasonló API-k — létrehozásához. A Ruby rugalmas szintaxisa (opcionális zárójelek, blokkok), metaprogramozása és instance_eval lehetővé teszik, hogy kifejező, olvasható DSL-eket hozzunk létre. Ez az oka annak, hogy a Rails, RSpec és számos Ruby-eszköz rendelkezik olyan elegáns, deklaratív API-val.
Mit néz ki egy DSL (már láttál ilyeneket)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
