class Gem::Resolver::Specification
Ein Resolver::Specification enthält einen Teil der Informationen, die in einer Gem::Specification enthalten sind. Nur die für die Abhängigkeitsauflösung im Resolver benötigten Informationen sind enthalten.
Attribute
Die Abhängigkeiten des Gems für diese Spezifikation
Der Name des Gems für diese Spezifikation
Die Plattform, auf der dieses Gem läuft.
Die Einschränkung required_ruby_version für diese Spezifikation.
Die Einschränkung required_ruby_version für diese Spezifikation.
Die Menge, aus der diese Spezifikation stammt.
Die Quelle für diese Spezifikation
Die Gem::Specification für diese Resolver::Specification.
Implementierer, beachten Sie, dass install @spec aktualisiert, stellen Sie also sicher, dass Sie die Gem::Specification in @spec zwischenspeichern, wenn Sie überschreiben.
Die Version des Gems für diese Spezifikation.
Öffentliche Klassenmethoden
Source
# File lib/rubygems/resolver/specification.rb, line 60 def initialize @dependencies = nil @name = nil @platform = nil @set = nil @source = nil @version = nil @required_ruby_version = Gem::Requirement.default @required_rubygems_version = Gem::Requirement.default end
Legt Standard-Instanzvariablen für die Spezifikation fest.
Öffentliche Instanzmethoden
Source
# File lib/rubygems/resolver/specification.rb, line 108 def download(options) dir = options[:install_dir] || Gem.dir Gem.ensure_gem_subdirectories dir source.download spec, dir end
Source
# File lib/rubygems/resolver/specification.rb, line 83 def full_name "#{@name}-#{@version}" end
Der Name und die Version der Spezifikation.
Im Gegensatz zu Gem::Specification#full_name ist die Plattform nicht enthalten.
Source
# File lib/rubygems/resolver/specification.rb, line 96 def install(options = {}) require_relative "../installer" gem = download options installer = Gem::Installer.at gem, options yield installer if block_given? @spec = installer.install end
Installiert diese Spezifikation unter Verwendung der Gem::Installer-options. Die install-Methode gibt eine Gem::Installer-Instanz zurück, was bedeutet, dass das Gem installiert wird, oder nil, was bedeutet, dass das Gem bereits installiert ist.
Nach der Installation wird spec aktualisiert, um auf die gerade installierte Spezifikation zu verweisen.
Source
# File lib/rubygems/resolver/specification.rb, line 119 def installable_platform? Gem::Platform.match_spec? spec end
Gibt true zurück, wenn diese Spezifikation auf dieser Plattform installierbar ist.