Η Ruby είναι εξαιρετικά κατάλληλη για τη δημιουργία εσωτερικών DSL (Domain-Specific Languages) — API που διαβάζονται σαν μια ειδικευμένη μίνι-γλώσσα για ένα πεδίο. Η ευέλικτη σύνταξη της Ruby (προαιρετικές παρενθέσεις, blocks), η metaprogramming και το instance_eval καθιστούν δυνατή τη δημιουργία εκφραστικών, ευανάγνωστων DSL. Αυτός είναι ο λόγος που το Rails, το RSpec και πολλά εργαλεία Ruby έχουν τόσο κομψές, δηλωτικές API.
Πώς φαίνεται μια DSL (τα έχετε δει)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
