Bundler makes it very easy to point to a gem folder on your system, and I definitely recommend this approach a lot more. The plugin can be a gem that we can just require, and it can specify its own dependencies in its .gemspec file.
But if you really don’t want your plugin to be a gem, for whatever reason, then read on…
If we are developing a Spree extension, or a Retrospectiva extension, or a Fat Free CRM plugin, we might sometimes need a way to require the gems in multiple Gemfiles, but Bundler doesn’t cater for this. The best solution I came up with is this:
# Install gems from each plugin Dir.glob(File.join(File.dirname(__FILE__), 'vendor', 'plugins', '**', "Gemfile")) do |gemfile| eval(IO.read(gemfile), binding) end
This will find and evaluate the Gemfiles from each of your plugins/extensions, as if you were modifying your base Gemfile.