Все, что я скажу дальше - имхо, причем основанное всего лишь на 3-дневном поверхностном изучении...
Ruby - язык во многом замечательный. Таких конструкций, как:
я лично больше нигде не видел. А сама концепция блоков чего стоит?
Для приверженца ООП - язык очень подходящий. В частности, есть много возможностей, которые не так уж часто встретишь: возможность переопределить метод класса, не переписывая класс или добавить новый метод, не трогая файл с классом.. можно даже для отдельно взятого объекта переопределить нужный метод!
И все же, такие возможности могут оказаться палкой о двух концах: например, недисциплинированный или просто неопытный разработчик может просто "потеряться" в этих возможностях и наплодить такого, что и сам черт не разберет. Такое возможно в любом языке, но при вышеуказанных возможностях Руби все можно запутать совсем уж намертво..
Рельсы .. В них, имхо, много достоинств. Недостатки тоже есть - если бы их не было, все бы уже ехали по рельсам.
Вот, кстати, ссылка на похожее обсуждение:
http://forum.agiledev.ru/index.php?t=msg&goto=3606&#msg_3606
Повторюсь: я не вел разработку на Руби - никогда.