Ruby는 내부 DSL(Domain-Specific Language, 도메인 특화 언어) — 도메인을 위한 특화된 미니 언어처럼 읽히는 API — 을 구축하는 데 탁월하게 적합합니다. Ruby의 유연한 문법(선택적 괄호, block), metaprogramming, 그리고 instance_eval이 표현력 있고 읽기 쉬운 DSL 생성을 가능하게 합니다. 이것이 Rails, RSpec, 많은 Ruby 도구가 그토록 우아하고 선언적인 API를 가진 이유입니다.
DSL의 모습 (여러분은 이미 봤습니다)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
