summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBundlerbot <bot@bundler.io>2019-08-05 17:33:59 +0000
committerBundlerbot <bot@bundler.io>2019-08-05 17:33:59 +0000
commit5023c56ae31140ec3c7aa381a40b46bf9f49ab02 (patch)
treed35b441b88ab4fedfb9ced6659b389c13a06b224
parent39850efe40e4a34439657c2678008658b03274db (diff)
parentf9d910403bd7dc69ee7faf1af4c08a21c2489b6d (diff)
downloadbundler-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.rb12
-rw-r--r--spec/bundler/ruby_version_spec.rb20
-rw-r--r--spec/support/hax.rb6
-rw-r--r--spec/support/platforms.rb11
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