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
APISpecificationfor the givensetfrom 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 17
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