class Bundler::Settings::Mirror

replies on time or not.
fallback timeout which will be used for probing if the mirror
Contains both the uri that should be used as a mirror and the
A mirror

def ==(other)

def ==(other)
  !other.nil? && uri == other.uri && fallback_timeout == other.fallback_timeout
end

def fallback_timeout=(timeout)

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

def initialize(uri = nil, fallback_timeout = 0)

def initialize(uri = nil, fallback_timeout = 0)
  self.uri = uri
  self.fallback_timeout = fallback_timeout
  @valid = nil
end

def uri=(uri)

def uri=(uri)
  @uri = if uri.nil?
    nil
  else
    URI(uri.to_s)
  end
  @valid = nil
end

def valid?

def valid?
  return false if @uri.nil?
  return @valid unless @valid.nil?
  false
end

def validate!(probe = nil)

def validate!(probe = nil)
  @valid = false if uri.nil?
  if @valid.nil?
    @valid = fallback_timeout == 0 || (probe || TCPSocketProbe.new).replies?(self)
  end
  self
end