diff options
author | Bundlerbot <bot@bundler.io> | 2019-08-05 17:33:59 +0000 |
---|---|---|
committer | Bundlerbot <bot@bundler.io> | 2019-08-05 17:33:59 +0000 |
commit | 5023c56ae31140ec3c7aa381a40b46bf9f49ab02 (patch) | |
tree | d35b441b88ab4fedfb9ced6659b389c13a06b224 | |
parent | 39850efe40e4a34439657c2678008658b03274db (diff) | |
parent | f9d910403bd7dc69ee7faf1af4c08a21c2489b6d (diff) | |
download | bundler-5023c56ae31140ec3c7aa381a40b46bf9f49ab02.tar.gz |
Merge #7275
7275: Use the standard RUBY_ENGINE_VERSION instead of JRUBY_VERSION r=deivid-rodriguez a=eregon
* RUBY_ENGINE and RUBY_ENGINE_VERSION are defined on every modern Ruby.
* There is no such constant as TRUFFLERUBY_VERSION or RBX_VERSION.
This blocks https://github.com/rubygems/rubygems/pull/2797.
Also see https://github.com/rubygems/rubygems/pull/2864
Co-authored-by: Benoit Daloze <eregontp@gmail.com>
-rw-r--r-- | lib/bundler/ruby_version.rb | 12 | ||||
-rw-r--r-- | spec/bundler/ruby_version_spec.rb | 20 | ||||
-rw-r--r-- | spec/support/hax.rb | 6 | ||||
-rw-r--r-- | spec/support/platforms.rb | 11 |
4 files changed, 14 insertions, 35 deletions
diff --git a/lib/bundler/ruby_version.rb b/lib/bundler/ruby_version.rb index b981cba21d..7e403ce6fc 100644 --- a/lib/bundler/ruby_version.rb +++ b/lib/bundler/ruby_version.rb @@ -103,18 +103,8 @@ module Bundler def self.system ruby_engine = RUBY_ENGINE.dup - # :sob: mocking RUBY_VERSION breaks stuff on 1.8.7 ruby_version = ENV.fetch("BUNDLER_SPEC_RUBY_VERSION") { RUBY_VERSION }.dup - ruby_engine_version = case ruby_engine - when "ruby" - ruby_version - when "rbx" - Rubinius::VERSION.dup - when "jruby" - JRUBY_VERSION.dup - else - RUBY_ENGINE_VERSION.dup - end + ruby_engine_version = RUBY_ENGINE_VERSION.dup patchlevel = RUBY_PATCHLEVEL.to_s @ruby_version ||= RubyVersion.new(ruby_version, patchlevel, ruby_engine, ruby_engine_version) diff --git a/spec/bundler/ruby_version_spec.rb b/spec/bundler/ruby_version_spec.rb index ef1a5fe575..868d81088d 100644 --- a/spec/bundler/ruby_version_spec.rb +++ b/spec/bundler/ruby_version_spec.rb @@ -427,7 +427,7 @@ RSpec.describe "Bundler::RubyVersion and its subclasses" do describe "#engine" do before { stub_const("RUBY_ENGINE", "jruby") } - before { stub_const("JRUBY_VERSION", "2.1.1") } + before { stub_const("RUBY_ENGINE_VERSION", "2.1.1") } it "should return a copy of the value of RUBY_ENGINE" do expect(subject.engine).to eq("jruby") @@ -438,37 +438,37 @@ RSpec.describe "Bundler::RubyVersion and its subclasses" do describe "#engine_version" do context "engine is ruby" do before do - stub_const("RUBY_VERSION", "2.2.4") + stub_const("RUBY_ENGINE_VERSION", "2.2.4") stub_const("RUBY_ENGINE", "ruby") end - it "should return a copy of the value of RUBY_VERSION" do + it "should return a copy of the value of RUBY_ENGINE_VERSION" do expect(bundler_system_ruby_version.engine_versions).to eq(["2.2.4"]) - expect(bundler_system_ruby_version.engine_versions.first).to_not be(RUBY_VERSION) + expect(bundler_system_ruby_version.engine_versions.first).to_not be(RUBY_ENGINE_VERSION) end end context "engine is rbx" do before do stub_const("RUBY_ENGINE", "rbx") - stub_const("Rubinius::VERSION", "2.0.0") + stub_const("RUBY_ENGINE_VERSION", "2.0.0") end - it "should return a copy of the value of Rubinius::VERSION" do + it "should return a copy of the value of RUBY_ENGINE_VERSION" do expect(bundler_system_ruby_version.engine_versions).to eq(["2.0.0"]) - expect(bundler_system_ruby_version.engine_versions.first).to_not be(Rubinius::VERSION) + expect(bundler_system_ruby_version.engine_versions.first).to_not be(RUBY_ENGINE_VERSION) end end context "engine is jruby" do before do stub_const("RUBY_ENGINE", "jruby") - stub_const("JRUBY_VERSION", "2.1.1") + stub_const("RUBY_ENGINE_VERSION", "2.1.1") end - it "should return a copy of the value of JRUBY_VERSION" do + it "should return a copy of the value of RUBY_ENGINE_VERSION" do expect(subject.engine_versions).to eq(["2.1.1"]) - expect(bundler_system_ruby_version.engine_versions.first).to_not be(JRUBY_VERSION) + expect(bundler_system_ruby_version.engine_versions.first).to_not be(RUBY_ENGINE_VERSION) end end diff --git a/spec/support/hax.rb b/spec/support/hax.rb index 74daccc9db..4f8d9b89ec 100644 --- a/spec/support/hax.rb +++ b/spec/support/hax.rb @@ -53,9 +53,7 @@ class Object remove_const :RUBY_ENGINE RUBY_ENGINE = ENV["BUNDLER_SPEC_RUBY_ENGINE"] - if RUBY_ENGINE == "jruby" - remove_const :JRUBY_VERSION if defined?(JRUBY_VERSION) - JRUBY_VERSION = ENV["BUNDLER_SPEC_RUBY_ENGINE_VERSION"] - end + remove_const :RUBY_ENGINE_VERSION + RUBY_ENGINE_VERSION = ENV["BUNDLER_SPEC_RUBY_ENGINE_VERSION"] end end diff --git a/spec/support/platforms.rb b/spec/support/platforms.rb index 153704e666..f4d63c8ded 100644 --- a/spec/support/platforms.rb +++ b/spec/support/platforms.rb @@ -71,16 +71,7 @@ module Spec def local_engine_version return ENV["BUNDLER_SPEC_RUBY_ENGINE_VERSION"] if ENV["BUNDLER_SPEC_RUBY_ENGINE_VERSION"] - case local_ruby_engine - when "ruby" - RUBY_VERSION - when "rbx" - Rubinius::VERSION - when "jruby" - JRUBY_VERSION - else - RUBY_ENGINE_VERSION - end + RUBY_ENGINE_VERSION end def not_local_engine_version |