summaryrefslogtreecommitdiff
path: root/trunk/lib/rubygems/indexer/marshal_index_builder.rb
blob: e1a4d9f9b80ac7332305fdb521a1402fac1bd544 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
require 'rubygems/indexer'

# Construct the master Gem index file.
class Gem::Indexer::MarshalIndexBuilder < Gem::Indexer::MasterIndexBuilder
  def end_index
    gems = {}
    index = Gem::SourceIndex.new

    @index.each do |name, gemspec|
      gems[gemspec.original_name] = gemspec
    end

    index.instance_variable_get(:@gems).replace gems

    @file.write index.dump
  end
end