summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith84@gmail.com>2020-08-19 22:58:00 -0700
committerTim Smith <tsmith84@gmail.com>2020-08-19 22:58:00 -0700
commit7cd521c4eca28cf24a1ae15f77d983db2be2e6a0 (patch)
tree770a7a5416f000ef96c5c2e16d12359054b37347
parent7e2d8e6a1b23cf459becfaaf0525a930bb2bd9e3 (diff)
downloadchef-zero-7cd521c4eca28cf24a1ae15f77d983db2be2e6a0.tar.gz
Optimize our requires
Avoid requiring things that are already defined. Rubygems is very slow at traversing the filesystem. Signed-off-by: Tim Smith <tsmith@chef.io>
-rwxr-xr-xbin/chef-zero2
-rw-r--r--lib/chef_zero/server.rb2
-rw-r--r--spec/run_oc_pedant.rb6
-rw-r--r--spec/server_spec.rb4
4 files changed, 7 insertions, 7 deletions
diff --git a/bin/chef-zero b/bin/chef-zero
index 0b4a99a..56050ef 100755
--- a/bin/chef-zero
+++ b/bin/chef-zero
@@ -3,7 +3,7 @@
# Trap interrupts to quit cleanly.
Signal.trap("INT") { exit 1 }
-require "rubygems"
+require "rubygems" unless defined?(Gem)
$:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
require "chef_zero/log"
diff --git a/lib/chef_zero/server.rb b/lib/chef_zero/server.rb
index 2d699aa..aac9c5e 100644
--- a/lib/chef_zero/server.rb
+++ b/lib/chef_zero/server.rb
@@ -17,7 +17,7 @@
#
require "openssl" unless defined?(OpenSSL)
-require "open-uri"
+require "open-uri" unless defined?(OpenURI)
require "rubygems" unless defined?(Gem)
require "timeout" unless defined?(Timeout)
require "stringio" unless defined?(StringIO)
diff --git a/spec/run_oc_pedant.rb b/spec/run_oc_pedant.rb
index b1760b6..13cfa5a 100644
--- a/spec/run_oc_pedant.rb
+++ b/spec/run_oc_pedant.rb
@@ -1,5 +1,5 @@
#!/usr/bin/env ruby
-require "json"
+require "json" unless defined?(JSON)
require "bundler"
require "bundler/setup"
@@ -93,7 +93,7 @@ begin
tmpdir = nil
server =
if ENV["FILE_STORE"]
- require "tmpdir"
+ require "tmpdir" unless defined?(Dir.mktmpdir)
require "chef_zero/data_store/raw_file_store"
tmpdir = Dir.mktmpdir
data_store = ChefZero::DataStore::RawFileStore.new(tmpdir, true)
@@ -102,7 +102,7 @@ begin
start_chef_server(data_store: data_store)
elsif ENV["CHEF_FS"]
- require "tmpdir"
+ require "tmpdir" unless defined?(Dir.mktmpdir)
tmpdir = Dir.mktmpdir
start_cheffs_server(tmpdir)
diff --git a/spec/server_spec.rb b/spec/server_spec.rb
index 2305880..75f31b9 100644
--- a/spec/server_spec.rb
+++ b/spec/server_spec.rb
@@ -1,6 +1,6 @@
require "chef_zero/server"
-require "net/http"
-require "uri"
+require "net/http" unless defined?(Net::HTTP)
+require "uri" unless defined?(URI)
describe ChefZero::Server do
context "with a server bound to port 8889" do