Ruby sangat cocok untuk membangun internal DSL (Domain-Specific Languages) — API yang terlihat seperti mini-bahasa khusus untuk suatu domain. Sintaks fleksibel Ruby (tanda kurung opsional, blocks), metaprogramming, dan instance_eval membuat dimungkinkan untuk membuat DSL yang ekspresif dan mudah dibaca. Inilah mengapa Rails, RSpec, dan banyak tools Ruby memiliki API yang begitu elegan dan deklaratif.
Seperti apa DSL (Anda sudah melihatnya)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
