1
require 'rubygems/indexer'
4
# Construct a quick index file and all of the individual specs to support
7
class Gem::Indexer::QuickIndexBuilder < Gem::Indexer::AbstractIndexBuilder
9
def initialize(filename, directory)
10
directory = File.join directory, 'quick'
12
super filename, directory
18
quick_index_file = File.join @directory, @filename
19
compress quick_index_file
21
# the complete quick index is in a directory, so move it as a whole
27
@file.puts spec.original_name
33
fn = File.join @directory, "#{spec.original_name}.gemspec.rz"
34
zipped = zip spec.to_yaml
35
File.open fn, "wb" do |gsfile| gsfile.write zipped end
39
# HACK why does this not work in #initialize?
40
FileUtils.mkdir_p File.join(@directory, "Marshal.#{Gem.marshal_version}")
42
fn = File.join @directory, "Marshal.#{Gem.marshal_version}",
43
"#{spec.original_name}.gemspec.rz"
45
zipped = zip Marshal.dump(spec)
46
File.open fn, "wb" do |gsfile| gsfile.write zipped end