diff options
author | danielsdeleo <dan@getchef.com> | 2015-06-01 08:19:57 -0700 |
---|---|---|
committer | danielsdeleo <dan@getchef.com> | 2015-06-01 08:19:57 -0700 |
commit | 02e8874637dd661b5aaf656a5c2d6fbbb5795619 (patch) | |
tree | a6f9b447b4209e5e61a6dd6ba3138891426f9e04 | |
parent | e3c455bd083ec7f87b8935a54cfc53692fdb1311 (diff) | |
download | chef-02e8874637dd661b5aaf656a5c2d6fbbb5795619.tar.gz |
Drop support for rubygems 1.xdrop-rubygems-1.x
Ruby 2.0 is the oldest release we support, and it ships with Rubygems
2.0: https://github.com/ruby/ruby/blob/v2_0_0_0/lib/rubygems.rb#L11
-rw-r--r-- | lib/chef/provider/package/rubygems.rb | 9 | ||||
-rw-r--r-- | spec/unit/provider/package/rubygems_spec.rb | 32 |
2 files changed, 1 insertions, 40 deletions
diff --git a/lib/chef/provider/package/rubygems.rb b/lib/chef/provider/package/rubygems.rb index c53aa8934a..d120a64f0d 100644 --- a/lib/chef/provider/package/rubygems.rb +++ b/lib/chef/provider/package/rubygems.rb @@ -32,14 +32,7 @@ require 'rubygems/version' require 'rubygems/dependency' require 'rubygems/spec_fetcher' require 'rubygems/platform' - -# Compatibility note: Rubygems 2.0 removes rubygems/format in favor of -# rubygems/package. -begin - require 'rubygems/format' -rescue LoadError - require 'rubygems/package' -end +require 'rubygems/package' require 'rubygems/dependency_installer' require 'rubygems/uninstaller' require 'rubygems/specification' diff --git a/spec/unit/provider/package/rubygems_spec.rb b/spec/unit/provider/package/rubygems_spec.rb index 3ccc69652f..d3cee82623 100644 --- a/spec/unit/provider/package/rubygems_spec.rb +++ b/spec/unit/provider/package/rubygems_spec.rb @@ -107,38 +107,6 @@ describe Chef::Provider::Package::Rubygems::CurrentGemEnvironment do expect(@gem_env.candidate_version_from_remote(Gem::Dependency.new('rspec', '>= 0'))).to eq(Gem::Version.new('1.3.0')) end - context "when rubygems was upgraded from 1.8->2.0" do - # https://github.com/rubygems/rubygems/issues/404 - # tl;dr rubygems 1.8 and 2.0 can both be in the load path, which means that - # require "rubygems/format" will load even though rubygems 2.0 doesn't have - # that file. - - before do - if defined?(Gem::Format) - # tests are running under rubygems 1.8, or 2.0 upgraded from 1.8 - @remove_gem_format = false - else - Gem.const_set(:Format, Object.new) - @remove_gem_format = true - end - allow(Gem::Package).to receive(:respond_to?).and_call_original - allow(Gem::Package).to receive(:respond_to?).with(:open).and_return(false) - end - - after do - if @remove_gem_format - Gem.send(:remove_const, :Format) - end - end - - it "finds a matching gem candidate version on rubygems 2.0+ with some rubygems 1.8 code loaded" do - package = double("Gem::Package", :spec => "a gemspec from package") - expect(Gem::Package).to receive(:new).with("/path/to/package.gem").and_return(package) - expect(@gem_env.spec_from_file("/path/to/package.gem")).to eq("a gemspec from package") - end - - end - it "gives the candidate version as nil if none is found" do dep = Gem::Dependency.new('rspec', '>= 0') latest = [] |