instance method
Gem::RequestSet::GemDependencyAPI#ruby
ruby(version, options = {})
lib/rubygems/request_set/gem_dependency_api.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/rubygems/request_set/gem_dependency_api.rb, line 783
def ruby(version, options = {})
engine = options[:engine]
engine_version = options[:engine_version]
raise ArgumentError,
"You must specify engine_version along with the Ruby engine" if
engine && !engine_version
return true if @installing
unless version == RUBY_VERSION
message = "Your Ruby version is #{RUBY_VERSION}, " \
"but your #{gem_deps_file} requires #{version}"
raise Gem::RubyVersionMismatch, message
end
if engine && engine != Gem.ruby_engine
message = "Your Ruby engine is #{Gem.ruby_engine}, " \
"but your #{gem_deps_file} requires #{engine}"
raise Gem::RubyVersionMismatch, message
end
if engine_version
if engine_version != RUBY_ENGINE_VERSION
message =
"Your Ruby engine version is #{Gem.ruby_engine} #{RUBY_ENGINE_VERSION}, " \
"but your #{gem_deps_file} requires #{engine} #{engine_version}"
raise Gem::RubyVersionMismatch, message
end
end
true
end
Restricts this gem dependencies file to the given ruby version.
You may also provide engine: and engine_version: options to restrict this gem dependencies file to a particular ruby engine and its engine version. This matching is performed by using the RUBY_ENGINE and RUBY_ENGINE_VERSION constants.