Yet again: Gem plugins

The patch I'm working on is just a) A more declarative way of specifying the gems your app uses, and having Rails automatically require them for you, and b) A mechanism for enabling those gems hook up to your target app, just like init.rb does for file-system plugins.

Please take a look at the Trac ticket as it's more self-explanatory: http://dev.rubyonrails.org/ticket/11167

Looking forward for your precious feedback.

Cheers Damian

This is pretty much the simplest thing that could possibly work, and I really like that. There are a few other gem plugins that are significantly more featureful, but I think it'd be great to start with this: More features can always be added later.

~ j.

This looks good. I made a couple of comments on the ticket. I've already done a lot of similar work in my GemInstaller tool, and this looks pretty complimentary and compatible.

The one thing I'd like to propose is putting the gem names hash/array under a top level "gems:" element in the YAML file, for flex ability in other apps that want to reuse and extend the config file (such as GemInstaller, which is run via preinitializer.rb to correctly handle core gems like Rails itself).

More details on my ticket comments, thanks for your work!

-- Chad

I've just uploaded an updated patch that will look for gems under a 'gems' key in the YAML file.

This is just an extension point where other consumers can add rely on other metadata specified on the same gems.yml file.