The Resolver::SpecSpecification contains common functionality for Resolver specifications that are backed by a Gem::Specification.
A SpecSpecification is created for a set for a Gem::Specification in spec. The source is either where the spec came from, or should be loaded from.
# File ruby-3.1.2/lib/rubygems/resolver/spec_specification.rb, line 12
def initialize(set, spec, source = nil)
@set = set
@source = source
@spec = spec
end
The dependencies of the gem for this specification
# File ruby-3.1.2/lib/rubygems/resolver/spec_specification.rb, line 21
def dependencies
spec.dependencies
end
The name and version of the specification.
Unlike Gem::Specification#full_name, the platform is not included.
# File ruby-3.1.2/lib/rubygems/resolver/spec_specification.rb, line 44
def full_name
"#{spec.name}-#{spec.version}"
end
The name of the gem for this specification
# File ruby-3.1.2/lib/rubygems/resolver/spec_specification.rb, line 51
def name
spec.name
end
The platform this gem works on.
# File ruby-3.1.2/lib/rubygems/resolver/spec_specification.rb, line 58
def platform
spec.platform
end
The required_ruby_version constraint for this specification
# File ruby-3.1.2/lib/rubygems/resolver/spec_specification.rb, line 28
def required_ruby_version
spec.required_ruby_version
end
The required_rubygems_version constraint for this specification
# File ruby-3.1.2/lib/rubygems/resolver/spec_specification.rb, line 35
def required_rubygems_version
spec.required_rubygems_version
end