class Gem::Resolver::APISpecification
Stellt eine Spezifikation dar, die über die rubygems.org API abgerufen wurde.
Dies wird verwendet, um die vollständigen Spezifikationsobjekte zu vermeiden, wenn wir nur den Namen, die Version und die Abhängigkeiten benötigen.
Öffentliche Klassenmethoden
Source
# File lib/rubygems/resolver/api_specification.rb, line 14 def self.new(set, api_data) cache_key = [set, api_data] cache = @@cache[cache_key] return cache if cache @@cache[cache_key] = super end
Ruft die Methode der Superklasse
Gem::Resolver::Specification::new aufSource
# File lib/rubygems/resolver/api_specification.rb, line 28 def initialize(set, api_data) super() @set = set @name = api_data[:name] @version = Gem::Version.new(api_data[:number]).freeze @platform = Gem::Platform.new(api_data[:platform]).freeze @original_platform = api_data[:platform].freeze @dependencies = api_data[:dependencies].map do |name, ver| Gem::Dependency.new(name, ver.split(/\s*,\s*/)).freeze end.freeze @required_ruby_version = Gem::Requirement.new(api_data.dig(:requirements, :ruby)).freeze @required_rubygems_version = Gem::Requirement.new(api_data.dig(:requirements, :rubygems)).freeze end
Erstellt eine APISpecification für das gegebene set aus den api_data von rubygems.org.
Siehe guides.rubygems.org/rubygems-org-api/#misc-methods für das Format der api_data.
Ruft die Methode der Superklasse
Gem::Resolver::Specification::new aufÖffentliche Instanzmethoden
Source
# File lib/rubygems/resolver/api_specification.rb, line 51 def hash @set.hash ^ @name.hash ^ @version.hash ^ @platform.hash end