Class: Gem::Resolver::APISpecification
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/api_specification.rb |
Overview
Represents a specification retrieved via the rubygems.org API.
This is used to avoid loading the full Specification object when all we need is the name, version, and dependencies.
Class Method Summary
-
.new(set, api_data) ⇒ APISpecification
constructor
Creates an
APISpecification
for the givenset
from the rubygems.orgapi_data
.
Specification - Inherited
.new | Sets default instance variables for the specification. |
Instance Attribute Summary
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. |
Instance Method Summary
Specification - Inherited
#full_name | The name and version of the specification. |
#install | Installs this specification using the ::Gem::Installer |
Constructor Details
.new(set, api_data) ⇒ APISpecification
Creates an APISpecification
for the given set
from the rubygems.org api_data
.
See guides.rubygems.org/rubygems-org-api/#misc_methods for the format of the api_data
.
# File 'lib/rubygems/resolver/api_specification.rb', line 16
def initialize(set, api_data) super() @set = set @name = api_data[:name] @version = Gem::Version.new api_data[:number] @platform = Gem::Platform.new api_data[:platform] @dependencies = api_data[:dependencies].map do |name, ver| Gem::Dependency.new name, ver.split(/\s*,\s*/) end end