From fbdd4781c7cc7129b5317d03932b1ff4ef05fda9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Mon, 12 Oct 2020 20:14:51 +0200 Subject: [PATCH] Merge pull request #4010 from rubygems/lazily_load_default_gems Lazily load `time`, `cgi`, and `zlib` (cherry picked from commit 0af1449db90748d5f484898825147f2169a7d5dd) --- lib/rubygems/indexer.rb | 1 - lib/rubygems/package.rb | 3 ++- lib/rubygems/remote_fetcher.rb | 1 - lib/rubygems/request.rb | 2 +- lib/rubygems/uri_formatter.rb | 3 ++- util/create_certs.rb | 1 - 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/rubygems/indexer.rb b/lib/rubygems/indexer.rb index 9f4bd12c46ba..31285ca962fa 100644 --- a/lib/rubygems/indexer.rb +++ b/lib/rubygems/indexer.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require 'rubygems' require 'rubygems/package' -require 'time' require 'tmpdir' ## diff --git a/lib/rubygems/package.rb b/lib/rubygems/package.rb index 0bf0877fb3ae..0587cd212b71 100644 --- a/lib/rubygems/package.rb +++ b/lib/rubygems/package.rb @@ -44,7 +44,6 @@ require "rubygems" require 'rubygems/security' require 'rubygems/user_interaction' -require 'zlib' class Gem::Package include Gem::UserInteraction @@ -186,6 +185,8 @@ def self.raw_spec(path, security_policy = nil) # Creates a new package that will read or write to the file +gem+. def initialize(gem, security_policy) # :notnew: + require 'zlib' + @gem = gem @build_time = Gem.source_date_epoch diff --git a/lib/rubygems/remote_fetcher.rb b/lib/rubygems/remote_fetcher.rb index 18fe4c07ee48..8ebe6acc70f9 100644 --- a/lib/rubygems/remote_fetcher.rb +++ b/lib/rubygems/remote_fetcher.rb @@ -78,7 +78,6 @@ def self.fetcher def initialize(proxy=nil, dns=nil, headers={}) require 'net/http' require 'stringio' - require 'time' require 'uri' Socket.do_not_reverse_lookup = true diff --git a/lib/rubygems/request.rb b/lib/rubygems/request.rb index 12fcd5af76cb..1ed0fbcb9975 100644 --- a/lib/rubygems/request.rb +++ b/lib/rubygems/request.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true require 'net/http' -require 'time' require 'rubygems/user_interaction' class Gem::Request @@ -144,6 +143,7 @@ def fetch request.add_field 'Keep-Alive', '30' if @last_modified + require 'time' request.add_field 'If-Modified-Since', @last_modified.httpdate end diff --git a/lib/rubygems/uri_formatter.rb b/lib/rubygems/uri_formatter.rb index ab5cc78e67ec..3bda896875bc 100644 --- a/lib/rubygems/uri_formatter.rb +++ b/lib/rubygems/uri_formatter.rb @@ -1,5 +1,4 @@ # frozen_string_literal: true -require 'cgi' ## # The UriFormatter handles URIs from user-input and escaping. @@ -18,6 +17,8 @@ class Gem::UriFormatter # Creates a new URI formatter for +uri+. def initialize(uri) + require 'cgi' + @uri = uri end diff --git a/util/create_certs.rb b/util/create_certs.rb index 6790737e2665..86545fe3ead9 100644 --- a/util/create_certs.rb +++ b/util/create_certs.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true require 'openssl' -require 'time' class CertificateBuilder attr_reader :start