summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2019-04-12 19:05:26 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2019-08-03 09:30:00 +0900
commit7255f55dba83aacbde76184aff965162e339ba2a (patch)
tree3ea69fd5c7a4883fe934ab15206b1861c76ff0d2
parentd2d6d5c988b66cb110dbb07f92e08f231a31d6bc (diff)
downloadruby-7255f55dba83aacbde76184aff965162e339ba2a.tar.gz
[bundler/bundler] RUBY_ENGINE should always be defined after 1.8.7
https://github.com/bundler/bundler/commit/d6c9196d18
-rw-r--r--lib/bundler/current_ruby.rb13
-rw-r--r--lib/bundler/installer/standalone.rb3
-rw-r--r--lib/bundler/ruby_version.rb7
-rw-r--r--spec/bundler/bundler/ruby_version_spec.rb20
-rw-r--r--spec/bundler/support/hax.rb4
-rw-r--r--spec/bundler/support/platforms.rb2
6 files changed, 16 insertions, 33 deletions
diff --git a/lib/bundler/current_ruby.rb b/lib/bundler/current_ruby.rb
index ae5fae841e..6c8ad72ee3 100644
--- a/lib/bundler/current_ruby.rb
+++ b/lib/bundler/current_ruby.rb
@@ -38,28 +38,27 @@ module Bundler
].freeze
def ruby?
- !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby" ||
- RUBY_ENGINE == "rbx" || RUBY_ENGINE == "maglev" || RUBY_ENGINE == "truffleruby")
+ !mswin? && (RUBY_ENGINE == "ruby" || RUBY_ENGINE == "rbx" || RUBY_ENGINE == "maglev" || RUBY_ENGINE == "truffleruby")
end
def mri?
- !mswin? && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby")
+ !mswin? && RUBY_ENGINE == "ruby"
end
def rbx?
- ruby? && defined?(RUBY_ENGINE) && RUBY_ENGINE == "rbx"
+ ruby? && RUBY_ENGINE == "rbx"
end
def jruby?
- defined?(RUBY_ENGINE) && RUBY_ENGINE == "jruby"
+ RUBY_ENGINE == "jruby"
end
def maglev?
- defined?(RUBY_ENGINE) && RUBY_ENGINE == "maglev"
+ RUBY_ENGINE == "maglev"
end
def truffleruby?
- defined?(RUBY_ENGINE) && RUBY_ENGINE == "truffleruby"
+ RUBY_ENGINE == "truffleruby"
end
def mswin?
diff --git a/lib/bundler/installer/standalone.rb b/lib/bundler/installer/standalone.rb
index ce0c9df1eb..e1beb25ad1 100644
--- a/lib/bundler/installer/standalone.rb
+++ b/lib/bundler/installer/standalone.rb
@@ -12,8 +12,7 @@ module Bundler
end
File.open File.join(bundler_path, "setup.rb"), "w" do |file|
file.puts "require 'rbconfig'"
- file.puts "# ruby 1.8.7 doesn't define RUBY_ENGINE"
- file.puts "ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby'"
+ file.puts "ruby_engine = RUBY_ENGINE"
file.puts "ruby_version = RbConfig::CONFIG[\"ruby_version\"]"
file.puts "path = File.expand_path('..', __FILE__)"
paths.each do |path|
diff --git a/lib/bundler/ruby_version.rb b/lib/bundler/ruby_version.rb
index 80dc444f93..b981cba21d 100644
--- a/lib/bundler/ruby_version.rb
+++ b/lib/bundler/ruby_version.rb
@@ -102,12 +102,7 @@ module Bundler
end
def self.system
- ruby_engine = if defined?(RUBY_ENGINE) && !RUBY_ENGINE.nil?
- RUBY_ENGINE.dup
- else
- # not defined in ruby 1.8.7
- "ruby"
- end
+ 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
diff --git a/spec/bundler/bundler/ruby_version_spec.rb b/spec/bundler/bundler/ruby_version_spec.rb
index 3ac7d9ef3a..ef1a5fe575 100644
--- a/spec/bundler/bundler/ruby_version_spec.rb
+++ b/spec/bundler/bundler/ruby_version_spec.rb
@@ -426,22 +426,12 @@ RSpec.describe "Bundler::RubyVersion and its subclasses" do
end
describe "#engine" do
- context "RUBY_ENGINE is defined" do
- before { stub_const("RUBY_ENGINE", "jruby") }
- before { stub_const("JRUBY_VERSION", "2.1.1") }
+ before { stub_const("RUBY_ENGINE", "jruby") }
+ before { stub_const("JRUBY_VERSION", "2.1.1") }
- it "should return a copy of the value of RUBY_ENGINE" do
- expect(subject.engine).to eq("jruby")
- expect(subject.engine).to_not be(RUBY_ENGINE)
- end
- end
-
- context "RUBY_ENGINE is not defined" do
- before { stub_const("RUBY_ENGINE", nil) }
-
- it "should return the string 'ruby'" do
- expect(subject.engine).to eq("ruby")
- end
+ it "should return a copy of the value of RUBY_ENGINE" do
+ expect(subject.engine).to eq("jruby")
+ expect(subject.engine).to_not be(RUBY_ENGINE)
end
end
diff --git a/spec/bundler/support/hax.rb b/spec/bundler/support/hax.rb
index 202e8dcc32..826fbbcc0f 100644
--- a/spec/bundler/support/hax.rb
+++ b/spec/bundler/support/hax.rb
@@ -40,7 +40,7 @@ end
class Object
if ENV["BUNDLER_SPEC_RUBY_ENGINE"]
- if defined?(RUBY_ENGINE) && RUBY_ENGINE != "jruby" && ENV["BUNDLER_SPEC_RUBY_ENGINE"] == "jruby"
+ if RUBY_ENGINE != "jruby" && ENV["BUNDLER_SPEC_RUBY_ENGINE"] == "jruby"
begin
# this has to be done up front because psych will try to load a .jar
# if it thinks its on jruby
@@ -50,7 +50,7 @@ class Object
end
end
- remove_const :RUBY_ENGINE if defined?(RUBY_ENGINE)
+ remove_const :RUBY_ENGINE
RUBY_ENGINE = ENV["BUNDLER_SPEC_RUBY_ENGINE"]
if RUBY_ENGINE == "jruby"
diff --git a/spec/bundler/support/platforms.rb b/spec/bundler/support/platforms.rb
index caac7734bf..153704e666 100644
--- a/spec/bundler/support/platforms.rb
+++ b/spec/bundler/support/platforms.rb
@@ -65,7 +65,7 @@ module Spec
end
def local_ruby_engine
- ENV["BUNDLER_SPEC_RUBY_ENGINE"] || (defined?(RUBY_ENGINE) ? RUBY_ENGINE : "ruby")
+ ENV["BUNDLER_SPEC_RUBY_ENGINE"] || RUBY_ENGINE
end
def local_engine_version