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.



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

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

#hashObject

The hash value for this specification.



73
74
75
# File 'lib/rubygems/resolver/spec_specification.rb', line 73

def hash
  spec.hash
end

#nameObject

The name of the gem for this specification



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

def name
  spec.name
end

#platformObject

The platform this gem works on.



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

def platform
  spec.platform
end

#required_ruby_versionObject

The required_ruby_version constraint for this specification



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

def required_ruby_version
  spec.required_ruby_version
end

#required_rubygems_versionObject

The required_rubygems_version constraint for this specification



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

def required_rubygems_version
  spec.required_rubygems_version
end

#versionObject

The version of the gem for this specification.



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

def version
  spec.version
end