Ruby iç DSL'ler (Domain-Specific Languages / Alana Özgü Diller) oluşturmak için olağanüstü ölçüde uyundur — bir alan için uzmanlaşmış mini-dil gibi okunan API'lar. Ruby'nin esnek sözdizimi (isteğe bağlı parantezler, bloklar), metaprogramlama ve instance_eval ifadesi, etkileyici ve okunabilir DSL'ler oluşturmayı mümkün kılar. Rails, RSpec ve pek çok Ruby aracının bu kadar zarif, deklaratif API'lara sahip olmasının nedeni budur.
DSL'nin nasıl göründüğü (zaten gördünüz)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
