summaryrefslogtreecommitdiff
path: root/spec/support/rubygems_ext.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support/rubygems_ext.rb')
-rw-r--r--spec/support/rubygems_ext.rb15
1 files changed, 10 insertions, 5 deletions
diff --git a/spec/support/rubygems_ext.rb b/spec/support/rubygems_ext.rb
index 5299a7b447..62e2274fbe 100644
--- a/spec/support/rubygems_ext.rb
+++ b/spec/support/rubygems_ext.rb
@@ -23,7 +23,8 @@ module Spec
"rake" => "13.0.1",
"builder" => "~> 3.2",
# ruby-graphviz is used by the viz tests
- "ruby-graphviz" => ">= 0.a",
+ # for >= Ruby 2.3
+ "ruby-graphviz" => "1.2.4",
}
extend self
@@ -105,10 +106,14 @@ module Spec
end
def install_gems(gems)
- deps = gems.map {|name, req| "'#{name}:#{req}'" }.join(" ")
- gem = ENV["GEM_COMMAND"] || "#{Gem.ruby} -S gem --backtrace"
- cmd = "#{gem} install #{deps} --no-document --conservative"
- system(cmd) || raise("Installing gems #{deps} for the tests to use failed!")
+ require "rubygems/dependency_installer"
+
+ gems.each do |name, req|
+ dependency = Gem::Dependency.new(name, req)
+ next unless dependency.matching_specs.empty?
+
+ Gem::DependencyInstaller.new(:document => false).install(dependency)
+ end
end
end
end