The rubygem 'polyglot', which is depended on by Cucumber via Treetop, redefines the Kernel#require method, making it public instead of private. This is pretty horrible. Libraries should not break the behaviour of the stdlib. :( This commit implements a workaround for that particular issue, with a test that does the same thing polyglot does. Closes #287
Replaces both Gem.path and Gem.source_index with bundled counterparts
- fix group tracking so that groups are only loaded once, and loading the same group twice no longer loads all groups - fix Bundler.load so that it memoizes its results. creating more than one runtime in a single invokation is very bad - spec to make sure the runtime only gets created once If you called setup(:default) and then require(:default), it would try to set up every group. That is no longer the case.
This allows, among other things, for the bundle install command to inform users of whether the gem being bundled is currently installed in system gems or into the set of bundled gems.
e.g. if you are in a bundled Rakefile but need to shell out to something on your system that uses ruby like Homebrew Fixes #225