update_specs_index(index, source, dest)
public
Combines specs in index and source then writes out a new copy to dest. For a
latest index, does not ensure the new file is minimal.
# File lib/rubygems/indexer.rb, line 420
def update_specs_index(index, source, dest)
specs_index = Marshal.load Gem.read_binary(source)
index.each do |spec|
platform = spec.original_platform
platform = Gem::Platform::RUBY if platform.nil? or platform.empty?
specs_index << [spec.name, spec.version, platform]
end
specs_index = compact_specs specs_index.uniq.sort
File.open dest, 'wb' do |io|
Marshal.dump specs_index, io
end
end