Rubyは内部DSL(ドメイン固有言語)の構築に極めて適しています——あるドメインに特化したミニ言語のように読めるAPIです。Rubyの柔軟な構文(省略可能な括弧、ブロック)、メタプログラミング、instance_evalにより、表現力豊かで読みやすいDSLを作成できます。これがRails、RSpec、多くのRubyツールがあれほど優雅で宣言的なAPIを持つ理由です。
DSLとはどのようなものか(あなたも見たことがある)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
