Я предполагаю, что вы говорите о принятии кодовых запахов и их рефакторинге. Я не видел ничего специфичного для ruby, но большую часть того, что я видел, можно применить к любому объектно-ориентированному языку, если вы знаете базовые концепции OOP .
Попробуйте Запахи для рефакторинга , который представляет собой двухстраничное краткое руководство, в котором описываются запахи кода, а затем перечисляются методы рефакторинга, которые можно использовать для их устранения. Чтобы получить описание (вместе с примерами кода на Java) каждого из этих методов рефакторинга, посмотрите Каталог рефакторингов на странице Мартина Фаулера.