Добавляем сахар в ActiveRecord.
Йоу! Давно никак не мог разродиться новым постом, но выдались свободные
Тем не менее, появилась одна вещь, о которой нужно было написать ещё пару недель назад.
Когда пишешь большое приложение, то возникает много дублирующегося кода, приведу реальный пример из нашего проекта.
Когда количество однотипных методов, подобных указанному выше, начинает превышать все разумные пределы, это означает что нужно выносить этот функционал в отдельный модуль. В данном случае я решил сделать отдельный gem, назвать его «hashed» и выложить на github.
После того как вы подключите этот gem к вашему приложению, у каждой
Придирчивый читатель может мне сказать что-то в духе: «Эй, мы же юзаем рельсы, давай просто во вьюхах будем делать «<%= block.type.name %>», вместо всех этих твоих хешей». Окей, мы можем так делать, только вот на больших и нагруженных проектах так не делают. Ах, да, мы можем сделать Block.includes(:type), и тогда блоки вместе со своими типами подтянутся 2-мя запросами, но в рамках той задачи, которую я решал, такой вариант не подходил, поэтому и родился этот gem.
Буду рад пул-риквестам, есичо.