aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bundler
diff options
context:
space:
mode:
authorAndre Arko <andre@arko.net>2014-08-16 11:26:41 -0700
committerAndre Arko <andre@arko.net>2014-08-16 11:26:41 -0700
commit74e0daf365b867852a683c29b51bd45c6c646e1c (patch)
tree65be4aa08a80e72d0eef8634c9a9adde83210439 /lib/bundler
parenta6a55243f10d4e716fb8a7e412c59e252adc925a (diff)
downloadbundler-74e0daf365b867852a683c29b51bd45c6c646e1c.tar.gz
refactor fetcher URI to reduce parsing
Diffstat (limited to 'lib/bundler')
-rw-r--r--lib/bundler/fetcher.rb28
1 files changed, 14 insertions, 14 deletions
diff --git a/lib/bundler/fetcher.rb b/lib/bundler/fetcher.rb
index d1ddc554..736f2eff 100644
--- a/lib/bundler/fetcher.rb
+++ b/lib/bundler/fetcher.rb
@@ -289,9 +289,9 @@ module Bundler
end
def dependency_api_uri(gem_names = [])
- url = "#{redirected_uri}api/v1/dependencies"
- url << "?gems=#{URI.encode(gem_names.join(","))}" if gem_names.any?
- URI.parse(url)
+ uri = fetch_uri + "api/v1/dependencies"
+ uri.query = "gems=#{URI.encode(gem_names.join(","))}" if gem_names.any?
+ uri
end
# fetch from Gemcutter Dependency Endpoint API
@@ -378,18 +378,18 @@ module Bundler
yield
end
- private
- def redirected_uri
- return bundler_uri if rubygems?
- return @remote_uri
- end
-
- def rubygems?
- @remote_uri.host == "rubygems.org"
- end
+ private
- def bundler_uri
- URI.parse("#{@remote_uri.scheme}://bundler.#{@remote_uri.host}/")
+ def fetch_uri
+ @fetch_uri ||= begin
+ if @remote_uri.host == "rubygems.org"
+ uri = @remote_uri.dup
+ uri.host = "bundler.rubygems.org"
+ uri
+ else
+ @remote_uri
+ end
+ end
end
end