Class: Gem::Resolver::SpecSpecification

Inherits:
Specification show all
Defined in:
lib/rubygems/resolver/spec_specification.rb

Overview

The Resolver::SpecSpecification contains common functionality for Resolver specifications that are backed by a Gem::Specification.

Instance Attribute Summary

Attributes inherited from Specification

#set, #source, #spec

Instance Method Summary collapse

Methods inherited from Specification

#download, #fetch_development_dependencies, #install, #installable_platform?, #local?

Constructor Details

#initialize(set, spec, source = nil) ⇒ SpecSpecification

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.



13
14
15
16
17
# File 'lib/rubygems/resolver/spec_specification.rb', line 13

def initialize(set, spec, source = nil)
  @set    = set
  @source = source
  @spec   = spec
end

Instance Method Details

#dependenciesObject

The dependencies of the gem for this specification



22
23
24
# File 'lib/rubygems/resolver/spec_specification.rb', line 22

def dependencies
  spec.dependencies
end

#full_nameObject

The name and version of the specification.

Unlike Gem::Specification#full_name, the platform is not included.



31
32
33
# File 'lib/rubygems/resolver/spec_specification.rb', line 31

def full_name
  "#{spec.name}-#{spec.version}"
end

#nameObject

The name of the gem for this specification



38
39
40
# File 'lib/rubygems/resolver/spec_specification.rb', line 38

def name
  spec.name
end

#platformObject

The platform this gem works on.



45
46
47
# File 'lib/rubygems/resolver/spec_specification.rb', line 45

def platform
  spec.platform
end

#versionObject

The version of the gem for this specification.



52
53
54
# File 'lib/rubygems/resolver/spec_specification.rb', line 52

def version
  spec.version
end