1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rubygems/dependency_resolver/index_specification.rb
drbrain 28918eac58 * lib/rubygems: Update to RubyGems master commit 2a74263. This fixes
several bugs in RubyGems 2.2.0.preview.1.

* test/rubygems:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-16 00:14:16 +00:00

59 lines
1.1 KiB
Ruby

##
# Represents a possible Specification object returned from IndexSet. Used to
# delay needed to download full Specification objects when only the +name+
# and +version+ are needed.
class Gem::DependencyResolver::IndexSpecification
attr_reader :name
attr_reader :platform
attr_reader :source
attr_reader :version
def initialize set, name, version, source, platform
@set = set
@name = name
@version = version
@source = source
@platform = platform.to_s
@spec = nil
end
def dependencies
spec.dependencies
end
def full_name
"#{@name}-#{@version}"
end
def inspect # :nodoc:
'#<%s %s source %s>' % [self.class, full_name, @source]
end
def pretty_print q # :nodoc:
q.group 2, '[Index specification', ']' do
q.breakable
q.text full_name
unless Gem::Platform::RUBY == @platform then
q.breakable
q.text @platform.to_s
end
q.breakable
q.text 'source '
q.pp @source
end
end
def spec
@spec ||= @set.load_spec(@name, @version, @platform, @source)
end
end