#http://gems.rubyforge.org/yaml
#http://gems.rubyforge.org/gems/#{name}-#{version}.gem

require 'rubygems'
require 'yaml'
require 'open-uri'

require "test/code/tarball"

limit=(ENV['LIMIT']||20).to_i
offset=(ENV['OFFSET']||0).to_i

specs=open(ARGV.first||"http://gems.rubyforge.org/yaml"){|net| YAML.load net }

name2vers={}
specs.each{|bogus,spec| 
  name2vers[spec.name]||=[]
  name2vers[spec.name]<<spec.version
}
specs=nil

name2vers.each_key{|name|
  name2vers[name]=name2vers[name].max
}
#name2vers=name2vers.to_a[limit,offset]

name2vers.each{|name,version|
  begin
    Tarball.dl_and_unpack("jewels/","http://gems.rubyforge.org/gems/#{name}-#{version}.gem")
  rescue Interrupt: exit
  rescue Exception: #do nothing
  end
}