Description of problem:
Bundler can't see its dependencies after Bundler.setup.
If thor or net-http-persistent are already in memory, Bundler can reuse them just fine, but if Bundler locks the Gemfile and those libs are not already loaded, Bundler doesn't see them even though they are its dependencies.
Originally these dependencies are vendored inside the gem, but we removed them in Fedora. For Bundler to function as expected and designed by upstream we should most likely symlink the originally vendored libs to system-installed RubyGems.
I am including a simple reproducer for rawhide although I came across this in the real usecase when Vagrant couldn't download remote plugins, because Bundler (which Vagrant uses underneath) uses net-http-persistent for that.
$ bundle init
> require 'bundler'
> require 'bundler/vendored_thor'
LoadError: cannot load such file -- thor
from /usr/share/gems/gems/bundler-1.7.4/lib/bundler/vendored_thor.rb:7:in `require'
from /usr/share/gems/gems/bundler-1.7.4/lib/bundler/vendored_thor.rb:7:in `<top (required)>'
from (irb):5:in `require'
from /usr/bin/irb:11:in `<main>'
I did a new build that contains the fix. This issue is fixed by generating the proper symlinks to system RubyGems after installation of bundler or uninstallation of old thor/net-http-persistent gems.