diff options
Diffstat (limited to 'lib/bundler/settings.rb')
-rw-r--r-- | lib/bundler/settings.rb | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/bundler/settings.rb b/lib/bundler/settings.rb index 2074070e3e..afbb02397c 100644 --- a/lib/bundler/settings.rb +++ b/lib/bundler/settings.rb @@ -1,7 +1,5 @@ # frozen_string_literal: true -require "uri" - module Bundler class Settings autoload :Mirror, File.expand_path("mirror", __dir__) @@ -152,7 +150,11 @@ module Bundler end def mirror_for(uri) - uri = URI(uri.to_s) unless uri.is_a?(URI) + if uri.is_a?(String) + require_relative "vendored_uri" + uri = Bundler::URI(uri) + end + gem_mirrors.for(uri.to_s).uri end @@ -421,7 +423,8 @@ module Bundler suffix = $3 end uri = "#{uri}/" unless uri.end_with?("/") - uri = URI(uri) + require_relative "vendored_uri" + uri = Bundler::URI(uri) unless uri.absolute? raise ArgumentError, format("Gem sources must be absolute. You provided '%s'.", uri) end |