> How do I configure a Rails-3 Engine so that the engine's Gemfile is
> integrated with the parent-Rails-app's bundle?
You package your plugin as a gem, then add it as a dependency to your Rails app.
Write up a yourplugin.gemspec and put gem 'yourplugin', :path =>
'/to/your/plugin' in your app try.
Hi Jeremy,
I'm not sure you answered the OP's question (as I'm looking for the
same answer). He wants to know, if he has a Gemfile within his gem/
engine how can he get the Rails app/Bundler to automatically load it's
dependencies along with the Rails app's hardcoded dependencies.
For example, if you create your own Rails 3 Engine gem called MyShop
and MyShop has a dependency on ActiveMerchant, he wants to put that
dependency in a Gemfile within MyShop and not within the Rails app
itself.
I agree with this (your Rails app shouldn't need to know what the
dependencies are for the dependencies you have, Bundler should just
take care of them) and I'm trying to do the same thing.
> > How do I configure a Rails-3 Engine so that the engine's Gemfile
> > is integrated with the parent-Rails-app's bundle?
>
> You package your plugin as a gem, then add it as a dependency to
> your Rails app.
>
> Write up a yourplugin.gemspec and put gem 'yourplugin', :path =>
> '/to/your/plugin' in your app try.
Hi Jeremy,
I'm not sure you answered the OP's question (as I'm looking for the
same answer). He wants to know, if he has a Gemfile within his gem/
engine how can he get the Rails app/Bundler to automatically load
it's dependencies along with the Rails app's hardcoded dependencies.
Jeremy answered the question. Really. Gemfiles are for apps, not for
gems. You specify a gem's dependencies through its gemspec. Have a look
at all the gems on github or try
$ gem specification activemerchant --ruby
to get an idea.
I agree with this (your Rails app shouldn't need to know what the
dependencies are for the dependencies you have, Bundler should just
take care of them) and I'm trying to do the same thing.
That's what bundler does. It's up to you to declare the dependencies in
the appropriate way. For gems that means in a gemspec.