Sha256: da11cc86216000403d5882fc934904a5518c742e8bd95471b0828fb53f99b944

Contents?: true

Size: 1.42 KB

Versions: 1

Compression:

Stored size: 1.42 KB

Contents

require 'ostruct'

module RankMirror
	class Status
		def initialize(uri,distro)
			uri << "/" unless /^.*\/$/.match(uri)
			@uri = uri
			@distro = distro
		end

		def get
			if RankMirror::Reachable.new(@uri,500).reachable?
				case @distro
				when "opensuse"
					tumbleweed = "tumbleweed/repo/oss/suse/repodata/"
					leap4220 = "distribution/leap/42.2/repo/oss/suse/repodata/"
					leap4210 = "distribution/leap/42.1/repo/oss/suse/repodata/"
					leap4230 = "distribution/leap/42.3/repo/oss/suse/repodata/"
					
					checklist = {"tumbleweed"=>tumbleweed,"leap4220"=>leap4220,"leap4210"=>leap4210,"leap4230"=>leap4230}
					mirror = OpenStruct.new
					mirror.http = @uri
					
					checklist.each do |k,v|
						if RankMirror::Reachable.new(@uri + v,500).reachable?
							mirror[k] = true
						else
							mirror[k] = false
						end
					end
					return mirror
				when "packman"
					tumbleweed = "Tumbleweed"
					leap4220 = "Leap_42.2"
					leap4210 = "Leap_42.1"
					leap4230 = "Leap_42.3"
					checklist = {"tumbleweed"=>tumbleweed,"leap4220"=>leap4220,"leap4210"=>leap4210,"leap4230"=>leap4230}

					mirror = OpenStruct.new
					mirror.http = @uri

					checklist.each do |k,v|
						if RankMirror::Reachable.new(@uri + "openSUSE_" + v + "/Essentials/repodata/",500).reachable?
							mirror[k] = true
						else
							mirror[k] = false
						end
					end
					return mirror
				else
				end
			else
				return nil
			end
		end
	end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rankmirror-1.0.0 lib/rankmirror/status.rb