Ruby je priljubljen, popolnoma predmeten skriptni jezik, ki je posvojil številne značilnosti priljubljenih sodobnikov, kot so java, python in eiffel. Njegov avtor, Yukihiro Matsumoto, ga je ustvaril, da bi povrnil veselje do programiranja. Morda je za dokončni uspeh ruby potreboval le še ustrezno predmetno ogrodje za hitro izgradnjo učinkovitih, podatkovno podprtih in v splet odprtih aplikacij. Zdi se, da ga je Matsumoto našel v ogrodju Rails. Ogrodje obljublja tudi do 10x večjo storilnost pri razvoju spletnih programov, brez žrtvovanja kakovosti. Cilju se približa z dvema vodiloma: manj programja, kar pomeni pisanje čim manj kode na čim bolj zmogljivem ogrodju, ki poskrbi za vse drugo. Drugo vodilo je dogovor pred prilagoditvami (convention over configuration). Rails ne potrebuje nobenih prilagoditvenih datotek, namesto tega uporablja nekaj preprostih dogovorov pri pisanju programske kode in razporeditvi map na tisku ter tako vse potrebno izve s pomočjo vpogleda in odkrivanja (reflection & discovery). Programska koda v rubyju in podatki v strežniku že vsebujejo vse, kar ogrodje potrebuje za delovanje.