Я делаю небольшой модуль отправки сообщений. Он будет обрабатывать сообщения в очереди из запроса, который будет получен второстепенным работником для отправки электронной почты / SMS (или соответствующего журнала для тестирования).
Вопрос: это модель (в / app / models) или библиотека (в /lib).
Я хотел бы, чтобы в этом была какая-то религия.
Теория A: (Моя текущая теория) Если вы не создаете подклассы ActionMailer :: Base или ActiveRecord :: Base и т. Д., Ваш код должен перейти в lib.
Теория Б: (Теория, к которой я склоняюсь) Вещи, которые зависят от приложения, должны быть в модели. Все, что может быть общего назначения, должно быть в lib.
Теория C: в «моделях» должны быть только «модели данных». Однако подклассы ActionMailer нарушают это правило.
Насколько я знаю, в любом случае это будет работать нормально, но я ищу какие-то тонкие функциональные или философские причины того, что один против другого.
Мысли