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.



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

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



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

def dependencies
  spec.dependencies
end

#full_nameObject

The name and version of the specification.

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



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

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

#nameObject

The name of the gem for this specification



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

def name
  spec.name
end

#platformObject

The platform this gem works on.



58
59
60
# File 'lib/rubygems/resolver/spec_specification.rb', line 58

def platform
  spec.platform
end

#required_ruby_versionObject

The required_ruby_version constraint for this specification



28
29
30
# File 'lib/rubygems/resolver/spec_specification.rb', line 28

def required_ruby_version
  spec.required_ruby_version
end

#required_rubygems_versionObject

The required_rubygems_version constraint for this specification



35
36
37
# File 'lib/rubygems/resolver/spec_specification.rb', line 35

def required_rubygems_version
  spec.required_rubygems_version
end

#versionObject

The version of the gem for this specification.



65
66
67
# File 'lib/rubygems/resolver/spec_specification.rb', line 65

def version
  spec.version
end