I have several rails applications that will use the same core set of Models and data, for example:
- Apps
- Developers
- Categories
Each app builds on top of this core data and uses it in different ways. For example, I might have something like this in another app:
- Activity
- Users
- Apps (shared)
- Developers (shared)
- Categories (shared)
What is the best way to share the Models and data between them? The Apps, Developers and Category data will all be the same for every app so I would rather not have to duplicate the data in every app's database.
EDIT: I'm thinking through a couple of possible solutions:
- Rails engines (would solve the duplicate Models in different apps problem, but not the shared data issue)
- Using ActiveResource to access the core data (solves the shared data, but not the shared model issue)
I'm using a shared database to solve the shared data problem between heroku and a server on EC2 which does some background processing I can't do on heroku. In my case I'm using the same application, but really all I'm doing is using delayed_job on the EC2, so I'm only using the models from the app there. If I were going to use them in another application, I would probably go through the trouble of creating a gem to use between them.