class Gem::Resolver::APISpecification

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.

Public Class Methods

new(set, api_data) click to toggle source

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.

Calls superclass method Gem::Resolver::Specification.new
# 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