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.