Sha256: fc06fcca03af701e9ffd812e1abd86406dc74eeb214b38a2301eff7d1d717e66

Contents?: true

Size: 919 Bytes

Versions: 1

Compression:

Stored size: 919 Bytes

Contents

require 'rubygems'
Gem.manage_gems

class Gem::SourceInfoCache
  public :read_cache
end

if ARGV.empty?
  limit=1.0/0
else
  limit=ARGV.first.to_i
end

gemdir="gems/"

Dir.mkdir gemdir rescue nil
total=0
db4=[]
db=Gem::SourceInfoCache.new.read_cache
db.each_pair{|site,db2|
  newest={}
  db3=db2.source_index.instance_variable_get(:@gems)
  db3.each_pair{|filename,gemdata|
    version=gemdata.version
    newest[gemdata.name]=[version,filename,site] unless
      newest[gemdata.name] and newest[gemdata.name].first>=version
  }
  newest.each_pair{|name,triad| triad.shift }
  db4.push newest
}


  db4.each{|hash| hash.each_pair{|filename,(fn,site)|
#    fn=filename+".gem"
    next if File.exist? gemdir+fn
    fn+=".gem"
    next if File.exist? gemdir+fn
    url=site+"/gems/"+fn
    puts url
    system "wget #{url} -O "+gemdir+fn
    total+=(4096.0+1.01*File.size(gemdir+fn)) rescue 0
    exit if total>limit
  }}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rubylexer-0.7.0 test/code/dl_all_gems.rb