Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
instance method
Gem::Resolver#compute_dependencies
compute_dependencies(package, version)
lib/rubygems/resolver.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.1.0-preview1/lib/rubygems/resolver.rb, line 499
def compute_dependencies(package, version)
spec = spec_for(package.to_s, version)
return {} unless spec
return {} if @ignore_dependencies
spec.fetch_development_dependencies if @development && spec.respond_to?(:fetch_development_dependencies)
deps = {}
root_names = @needed.map(&:name)
spec.dependencies.each do |d|
next if d.name == package.to_s
next if d.type == :development && !@development
next if d.type == :development && @development_shallow && !root_names.include?(package.to_s)
dep_package = package_for(d.name)
# In force mode, skip deps that can't be satisfied - either no
# specs at all, or no specs matching the version requirement.
if @soft_missing
dep_specs = @all_specs[d.name]
matching = dep_specs.select {|s| d.requirement.satisfied_by?(s.version) }
next if matching.empty?
end
deps[d.name] = Gem::PubGrub::RubyGems.requirement_to_constraint(dep_package, d.requirement)
end
deps
end
No documentation available