Ruby ist außergewöhnlich gut geeignet für die Erstellung von internen DSLs (Domain-Specific Languages) — APIs, die wie eine spezialisierte Minisprache für ein Fachgebiet gelesen werden. Rubys flexible Syntax (optionale Klammern, Blöcke), Metaprogrammierung und instance_eval machen es möglich, ausdrucksstarke, lesbare DSLs zu erstellen. Deshalb haben Rails, RSpec und viele Ruby-Tools solch elegante, deklarative APIs.
Wie eine DSL aussieht (du hast sie schon gesehen)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
