Ruby je izjemno primeren za gradnjo notranjih DSL-jev (jezikov specifičnih za domeno) — API-jev, ki berejo kot specializirani mini-jezik za domeno. Fleksibilna sintaksa Ruby-ja (izbirni oglatni oklepaji, bloki), metaprogramiranje in instance_eval omogočajo ustvarjanje izraznih, berljivih DSL-jev. To je razlog, da imajo Rails, RSpec in mnoga druga Ruby orodja tako elegantne, deklarativne API-je.
Kako DSL izgleda (ste jih že videli)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
