Ruby je výjimečně vhodná pro vytváření vnitřních DSL (Domain-Specific Languages) — API, která se čtou jako specializovaný mini-jazyk pro určitou doménu. Flexibilní syntaxe Ruby (volitelné závorky, bloky), metaprogramování a instance_eval umožňují vytvářet výrazné a čitelné DSL. To je důvod, proč Rails, RSpec a mnoho Ruby nástrojů má takové elegantní a deklarativní API.
Jak vypadá DSL (už jste je viděli)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
