ну вот я сделал DRY, там получилось сложно но зато в одном месте, получается убрал несколько копий. Но мог этого не делать, потому что особо никто в эти копии лазить не будет
в рубях конкретно метапрограммирование такая конфетка, что можно его не использовать, НО ЕСЛИ ПОНАДОБИТСЯ то прям ваще то что надо. вот прям то что надо, бери и пиши и всё будет просто и понятно
если ты пишешь один - важно только чтобы вот этот вот оверхед влезал в эту твою часть ума. то есть ты не пытался в голове удержать слишком много одновременно
а вот если ты уже в команде то тогда надо не только брать минимальное значение этого показателя среди участников этой команды, но ещё и уменьшать на что-то потому что у них есть ещё барьер въезжания
поскольку код "чтобы работало" и код "чтобы было понятно" это совсем разные вещи, соответственно, где проходит граница между драем здорового человека и драем курильщика, в каждом случае своя