# 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

new(uri = nil, fallback_timeout = 0) click to toggle source

    # 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

==(other) click to toggle source

    # File lib/bundler/mirror.rb, line 94
    def ==(other)
      !other.nil? && uri == other.uri && fallback_timeout == other.fallback_timeout
    end

fallback_timeout=(timeout) click to toggle source

    # 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

uri=(uri) click to toggle source

    # File lib/bundler/mirror.rb, line 73
    def uri=(uri)
      @uri = if uri.nil?
        nil
      else
        URI(uri.to_s)
      end
      @valid = nil
    end

valid?() click to toggle source

    # File lib/bundler/mirror.rb, line 98
    def valid?
      return false if @uri.nil?
      return @valid unless @valid.nil?
      false
    end

validate!(probe = nil) click to toggle source

    # 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