Class: Gem::Resolver::LockSpecification
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Specification
|
|
Instance Chain:
self,
Specification
|
|
Inherits: |
Gem::Resolver::Specification
|
Defined in: | lib/rubygems/resolver/lock_specification.rb |
Overview
The LockSpecification comes from a lockfile (Gem::RequestSet::Lockfile).
A LockSpecification's dependency information is pre-filled from the lockfile.
Class Method Summary
Specification - Inherited
.new | Sets default instance variables for the specification. |
Instance Attribute Summary
- #sources readonly
Specification - Inherited
#dependencies | The dependencies of the gem for this specification. |
#installable_platform? | Returns true if this specification is installable on this platform. |
#name | The name of the gem for this specification. |
#platform | The platform this gem works on. |
#set | The set this specification came from. |
#source | The source for this specification. |
#spec | The ::Gem::Specification for this Specification. |
#version | The version of the gem for this specification. |
#local? |
Instance Method Summary
-
#install(options = {})
This is a null install as a locked specification is considered installed.
-
#spec
A specification constructed from the lockfile is returned.
-
#add_dependency(dependency)
Internal use only
Adds
dependency
from the lockfile to this specification. - #pretty_print(q) Internal use only
Specification - Inherited
#full_name | The name and version of the specification. |
#install | Installs this specification using the ::Gem::Installer |
#fetch_development_dependencies | Fetches development dependencies if the source does not provide them by default (see APISpecification). |
Constructor Details
.new(set, name, version, sources, platform) ⇒ LockSpecification
Instance Attribute Details
#sources (readonly)
[ GitHub ]# File 'lib/rubygems/resolver/lock_specification.rb', line 10
attr_reader :sources
Instance Method Details
#add_dependency(dependency)
Adds dependency
from the lockfile to this specification
# File 'lib/rubygems/resolver/lock_specification.rb', line 44
def add_dependency dependency # :nodoc: @dependencies << dependency end
#install(options = {})
This is a null install as a locked specification is considered installed. options
are ignored.
#pretty_print(q)
# File 'lib/rubygems/resolver/lock_specification.rb', line 48
def pretty_print q # :nodoc: q.group 2, '[LockSpecification', ']' do q.breakable q.text "name: #{@name}" q.breakable q.text "version: #{@version}" unless @platform == Gem::Platform::RUBY then q.breakable q.text "platform: #{@platform}" end unless @dependencies.empty? then q.breakable q.text 'dependencies:' q.breakable q.pp @dependencies end end end
#spec
A specification constructed from the lockfile is returned
# File 'lib/rubygems/resolver/lock_specification.rb', line 73
def spec @spec ||= Gem::Specification.find { |spec| spec.name == @name and spec.version == @version } @spec ||= Gem::Specification.new do |s| s.name = @name s.version = @version s.platform = @platform s.dependencies.concat @dependencies end end