Так что я знаю, что ИППП - самая оскорбленная вещь, но у меня есть случай, когда я думаю, что это может иметь смысл. Мое приложение анализирует кучу разных типов XML-файлов. Каждая файловая модель хранит одинаковую информацию. Просто некоторая информация о том, с каким пользователем он связан, когда он был загружен и где он хранится на S3.
После сохранения XML-файла я анализирую его на предмет информации, которую я использую для создания различных других моделей. Каждый тип файла собирается создавать разные вещи. Возможно, может быть 100 или более различных типов XML-файлов, хотя я не думаю, что я собираюсь писать парсеры для такого количества. Имеет ли смысл ИППП в этом случае?
Недостатком, я полагаю, является то, что все модели находятся в одном каталоге, поэтому он запустит этот каталог, если только не взломает Rails и не вставит его в подкаталог в каталоге моделей.
Другой вариант - у меня есть доброе поле и я помещаю что-то в каталог lib, который обрабатывает все это. Или я использую Resque, может быть, каждый анализатор XML-файлов должен быть своей собственной работой. У этого есть недостатки, хотя вроде бы неудобно заставлять работать в консоли rails.