diff options
Diffstat (limited to 'trunk/lib/rubygems/indexer/marshal_index_builder.rb')
-rw-r--r-- | trunk/lib/rubygems/indexer/marshal_index_builder.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/trunk/lib/rubygems/indexer/marshal_index_builder.rb b/trunk/lib/rubygems/indexer/marshal_index_builder.rb new file mode 100644 index 0000000000..e1a4d9f9b8 --- /dev/null +++ b/trunk/lib/rubygems/indexer/marshal_index_builder.rb @@ -0,0 +1,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 |