Ruby உள் DSL-கள் (Domain-Specific Languages) உருவாக்குவதற்கு விதிவிலக்கான முறையில் பொருத்தமாக உள்ளது — பெயர்ப்புரிவாய்ப்பு (Domain-specific) மேல் ஒரு நிபுணத்ব மினி-ভাষை போல் படிக்கும் API-கள். Ruby இன் நমनீய தொடரியல் (விரும்பத்தகாத அடைப்புக்குறிப்புகள், தொகுதிகள்), metaprogramming, மற்றும் instance_eval வெளிப்படுத்தும், படிக்கத்தக்க DSL-களை உருவாக்க சாத்தியமாக்குகிறது. இதுவே Rails, RSpec, மற்றும் பல Ruby கருவிகளுக்கு இவ்வளவு நிகரிலா, அறிவிப்பு-சாரமான API-கள் உள்ளதற்கான காரணம்.
DSL எப்படி தோன்றுகிறது (நீங்கள் அவற்றைப் பார்த்துவிட்டீர்கள்)
describe
it
expect(user).to be_valid
.application.routes.draw
resources
get ,
gem ,
