ruby/lib/rubygems/dependency_resolver/spec_specification.rb
drbrain 4f6779bac7 * lib/rubygems: Update to RubyGems master 4bdc4f2. Important changes
in this commit:

  RubyGems now chooses the test server port reliably.  Patch by akr.

  Partial implementation of bundler's Gemfile format.

  Refactorings to improve the new resolver.

  Fixes bugs in the resolver.

* test/rubygems:  Tests for the above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-11-10 17:51:40 +00:00

58 lines
1.1 KiB
Ruby

##
# The DependencyResolver::SpecSpecification contains common functionality for
# DependencyResolver specifications that are backed by a Gem::Specification.
class Gem::DependencyResolver::SpecSpecification < Gem::DependencyResolver::Specification
attr_reader :spec # :nodoc:
##
# 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.
def initialize set, spec, source = nil
@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