On this page
class Bundler::Settings::Mirror
A mirror
Contains both the uri that should be used as a mirror and the
fallback timeout which will be used for probing if the mirror
replies on time or not.
Constants
- DEFAULT_FALLBACK_TIMEOUT
Attributes
fallback_timeout[R]
uri[R]
Public Class Methods
# File lib/bundler/mirror.rb, line 67
def initialize(uri = nil, fallback_timeout = 0)
self.uri = uri
self.fallback_timeout = fallback_timeout
@valid = nil
end
Public Instance Methods
# File lib/bundler/mirror.rb, line 94
def ==(other)
!other.nil? && uri == other.uri && fallback_timeout == other.fallback_timeout
end
# File lib/bundler/mirror.rb, line 82
def fallback_timeout=(timeout)
case timeout
when true, "true"
@fallback_timeout = DEFAULT_FALLBACK_TIMEOUT
when false, "false"
@fallback_timeout = 0
else
@fallback_timeout = timeout.to_i
end
@valid = nil
end
# File lib/bundler/mirror.rb, line 73
def uri=(uri)
@uri = if uri.nil?
nil
else
URI(uri.to_s)
end
@valid = nil
end
# File lib/bundler/mirror.rb, line 98
def valid?
return false if @uri.nil?
return @valid unless @valid.nil?
false
end
# File lib/bundler/mirror.rb, line 104
def validate!(probe = nil)
@valid = false if uri.nil?
if @valid.nil?
@valid = fallback_timeout == 0 || (probe || TCPSocketProbe.new).replies?(self)
end
self
end
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.