У меня есть гем, который я хочу отделить от activerecord, чтобы иметь возможность использовать orm / db приложения, в котором он установлен. Есть гем 'orm_adapter', который, кажется, обрабатывает много, сокращая код, который мне нужно добавить , Одна проблема решена.
Тем не менее, я не уверен в том, как определить 1 модель, которая у меня есть. Я могу придумать два пути решения этого вопроса, оба из которых мои поисковые термины не были достаточно доработаны, чтобы найти полезные руководства:
1) Заставьте генератор (который уже копирует миграцию в приложение) определить, какой ORM используется, и ведите себя соответственно.
2) Найдите способ абстрагировать объявление модели, чтобы оно было достаточно универсальным для работы с любым приложением, в котором оно установлено. Я смотрел на ActiveModel, но не знаю. Это то, что мне нужно сохранить для приложения, в котором оно установлено.
Мой основной вопрос: как это сделать? Как другие справились с этим? Моя конкретная ситуация заключается в том, что теперь у меня есть несколько приложений, использующих Activerecord или DataMapper, которые я добавляю в Gem общие функциональные возможности, и эту модель, которая нуждается в постоянстве и доступе со стороны приложения. Я не уверен, как именно это сделать, но кажется, что это уже было бы решено в другом месте, я просто не знаю о решении.