Ruby internal DSLs (Domain-Specific Languages) बनाने के लिए असाधारण रूप से उपयुक्त है — ऐसे APIs जो किसी domain के लिए एक specialized mini-language की तरह पढ़ते हैं। Ruby का flexible syntax (optional parentheses, blocks), metaprogramming, और instance_eval expressive, readable DSLs बनाना संभव बनाते हैं। यही कारण है कि Rails, RSpec, और कई Ruby tools में ऐसे elegant, declarative APIs हैं।
एक DSL कैसा दिखता है (आपने उन्हें देखा है)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
