Spec-Zone.ru › Ruby 2.7

класс Bundler::Settings::Mirrors

Родитель:
Объект

Class используется для построения набора зеркал и последующего поиска зеркала для заданного URI

@param prober [Объект Prober, nil] по умолчанию TCPSocketProbe, этот объект

will be used to probe the mirror address to validate that the mirror replies.

Публичные Классовые Методы

new(prober = nil) Показать исходный код
# File lib/bundler/mirror.rb, line 12
def initialize(prober = nil)
  @all = Mirror.new
  @prober = prober || TCPSocketProbe.new
  @mirrors = {}
end

Публичные Методы Экземпляров

each() { |k, uri.to_s| ... } Показать исходный код
# File lib/bundler/mirror.rb, line 30
def each
  @mirrors.each do |k, v|
    yield k, v.uri.to_s
  end
end
for(uri) Показать исходный код
# File lib/bundler/mirror.rb, line 22
def for(uri)
  if @all.validate!(@prober).valid?
    @all
  else
    fetch_valid_mirror_for(Settings.normalize_uri(uri))
  end
end

Возвращает зеркало для данного uri.

В зависимости от наличия у uri валидного зеркала, оно может быть

mirror that points to the provided uri
parse(key, value) Показать исходный код
# File lib/bundler/mirror.rb, line 36
def parse(key, value)
  config = MirrorConfig.new(key, value)
  mirror = if config.all?
    @all
  else
    @mirrors[config.uri] ||= Mirror.new
  end
  config.update_mirror(mirror)
end

Приватные Методы Экземпляров

fetch_valid_mirror_for(uri) Показать исходный код
# File lib/bundler/mirror.rb, line 48
def fetch_valid_mirror_for(uri)
  downcased = uri.to_s.downcase
  mirror = @mirrors[downcased] || @mirrors[Bundler::URI(downcased).host] || Mirror.new(uri)
  mirror.validate!(@prober)
  mirror = Mirror.new(uri) unless mirror.valid?
  mirror
end

Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API