From aee295fc747c7e117f4b550ab806057b4c4738a4 Mon Sep 17 00:00:00 2001 From: drbrain Date: Fri, 30 Nov 2012 03:28:04 +0000 Subject: * lib/rubygems/spec_fetcher.rb: Allow prerelease spec fetching to fail for bundler. * test/rubygems/test_gem_spec_fetcher.rb: Test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems/spec_fetcher.rb | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/rubygems/spec_fetcher.rb b/lib/rubygems/spec_fetcher.rb index 531d023b2f..3345f6537e 100644 --- a/lib/rubygems/spec_fetcher.rb +++ b/lib/rubygems/spec_fetcher.rb @@ -195,7 +195,8 @@ class Gem::SpecFetcher when :released tuples_for source, :released when :complete - tuples_for(source, :prerelease) + tuples_for(source, :released) + tuples_for(source, :prerelease, true) + + tuples_for(source, :released) when :prerelease tuples_for(source, :prerelease) else @@ -211,9 +212,18 @@ class Gem::SpecFetcher [list, errors] end - def tuples_for(source, type) + def tuples_for(source, type, gracefully_ignore=false) cache = @caches[type] - cache[source.uri] ||= source.load_specs(type) + + if gracefully_ignore + begin + cache[source.uri] ||= source.load_specs(type) + rescue Gem::RemoteFetcher::FetchError + [] + end + else + cache[source.uri] ||= source.load_specs(type) + end end end -- cgit v1.2.3