класс Bundler::Settings::Mirrors
Class используется для построения набора зеркал и поиска зеркала для заданного URI
@param пробер [объект Prober, nil] по умолчанию TCPSocketProbe, этот объект
will be used to probe the mirror address to validate that the mirror replies.
Публичные Классовые Методы
# File lib/bundler/mirror.rb, line 12
def initialize(prober = nil)
@all = Mirror.new
@prober = prober || TCPSocketProbe.new
@mirrors = {}
end Публичные Методы Экземпляров
# File lib/bundler/mirror.rb, line 30
def each
@mirrors.each do |k, v|
yield k, v.uri.to_s
end
end # 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
# 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 Приватные Методы Экземпляров
# File lib/bundler/mirror.rb, line 48 def fetch_valid_mirror_for(uri) downcased = uri.to_s.downcase mirror = @mirrors[downcased] || @mirrors[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.