I'm working on a project which involves aggregating data from a variety of sources so that users can search and mine it from a single front-end interface. The project breaks pretty cleanly into two components:
- The cron triggered (Whenever gem) code that pulls data from various sources and POPULATES the database.
- The front-end code that CONSUMES the data and presents it to the user.
I want to split the codebase into separate projects with a shared model to encourage clean separation of concerns but am not sure how best to go about that in Rails 3.
I saw this SO question about using a shared folder/submodule in SVN or Git but that doesn't seem very clean to me: Sharing Models between two Rails Projects - using git submodules?
I come from a Java/MVN background were you would just create 3 modules (one shared and two that depend on it) and call it a day. Then with Maven you could invoke a build on the parent project and it would automatically update the shared code JAR in each dependent project.
Can the same be achieved using Rails Engines, Rake, and RubyGems? Or is there a better "rails way" to do it?
Thanks,
-James