Modular applications within Rails 3

Hey all,

I’m looking for a smart way to create modular applications with Rails
3. Prior to Rails 3 I have been using engines and GIT sub-modules to
maintain separate code bases however i was wondering if there is a
better way? The idea is to be able to get new applications off the
ground as quickly as possible with minimal customisation effort.

So far I’m aware of Middleware, Metal and pluggable Sinatra apps
through the new router however I’m sure a while back there was talk of
a more solid engine like system in the works?

At the moment I’m thinking something along the lines of plug-able
Sinatra apps for different contexts. As a basic example I see the
following structure:

  • Main application (container for all other mini apps and
    configurations)
    • Rack Auth
    • Sinatra blog app
    • Sinatra music player app
    • …more pluggable mini apps (split purposely into feature sets).

I just wanted to get an idea on what was the norm for doing this kind
of thing within Rails 3, am I thinking along the right track or
missing the point completely?

Thanks in advance,
Josh