2016-02-01 07:43:26 -05:00
|
|
|
# frozen_string_literal: true
|
2013-11-10 12:51:40 -05:00
|
|
|
##
|
2013-11-18 19:34:13 -05:00
|
|
|
# The Resolver::SpecSpecification contains common functionality for
|
|
|
|
# Resolver specifications that are backed by a Gem::Specification.
|
2013-11-10 12:51:40 -05:00
|
|
|
|
2013-11-18 19:34:13 -05:00
|
|
|
class Gem::Resolver::SpecSpecification < Gem::Resolver::Specification
|
2013-11-10 12:51:40 -05:00
|
|
|
##
|
|
|
|
# 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.
|
|
|
|
|
2018-11-21 05:20:47 -05:00
|
|
|
def initialize(set, spec, source = nil)
|
2013-11-10 12:51:40 -05:00
|
|
|
@set = set
|
|
|
|
@source = source
|
|
|
|
@spec = spec
|
|
|
|
end
|
|
|
|
|
|
|
|
##
|
|
|
|
# The dependencies of the gem for this specification
|
|
|
|
|
|
|
|
def dependencies
|
|
|
|
spec.dependencies
|
|
|
|
end
|
|
|
|
|
|
|
|
##
|
|
|
|
# The name and version of the specification.
|
|
|
|
#
|
|
|
|
# Unlike Gem::Specification#full_name, the platform is not included.
|
|
|
|
|
|
|
|
def full_name
|
|
|
|
"#{spec.name}-#{spec.version}"
|
|
|
|
end
|
|
|
|
|
|
|
|
##
|
|
|
|
# The name of the gem for this specification
|
|
|
|
|
|
|
|
def name
|
|
|
|
spec.name
|
|
|
|
end
|
|
|
|
|
|
|
|
##
|
|
|
|
# The platform this gem works on.
|
|
|
|
|
|
|
|
def platform
|
|
|
|
spec.platform
|
|
|
|
end
|
|
|
|
|
|
|
|
##
|
|
|
|
# The version of the gem for this specification.
|
|
|
|
|
|
|
|
def version
|
|
|
|
spec.version
|
|
|
|
end
|
|
|
|
end
|