ActiveRecord shared models

I'm attempting to build a somewhat non-standard architecture around the Rails apps that I'm building for a customer. We're looking for a way to be able to share models across projects using RubyGems.

The reasons we want to take this approach are: 1) Shared model logic, without duplication 2) Quick development of new applications 3) Small test suite per application 4) Mini-apps (potentially non-web) without full rails stack

I have seen solutions related to symlinking the app/models folders into each application or using svn:externals, but these both seem suboptimal.

Ideally, I'd like to be able to:

require 'rubygems' require 'models'

and have access to any of my models.

I have experienced some headaches with plugins and I expect to see more. Does anyone have any suggestions for implementing this type of architecture or am I doomed to have one monolithic Rails app?

Best, Michael Guterl

Have you tried the new plugin system in rails 2.3? It may not be exactly what you're looking for, but it allows you to have models in plugins.

SH