summaryrefslogtreecommitdiff
path: root/lib/rubygems/indexer/master_index_builder.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/indexer/master_index_builder.rb')
-rw-r--r--lib/rubygems/indexer/master_index_builder.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/rubygems/indexer/master_index_builder.rb b/lib/rubygems/indexer/master_index_builder.rb
index f435c44e41..dbe02370a9 100644
--- a/lib/rubygems/indexer/master_index_builder.rb
+++ b/lib/rubygems/indexer/master_index_builder.rb
@@ -10,7 +10,16 @@ class Gem::Indexer::MasterIndexBuilder < Gem::Indexer::AbstractIndexBuilder
def end_index
super
- @file.puts @index.to_yaml
+ @file.puts "--- !ruby/object:#{@index.class}"
+ @file.puts "gems:"
+
+ gems = @index.sort_by { |name, gemspec| gemspec.sort_obj }
+ gems.each do |name, gemspec|
+ yaml = gemspec.to_yaml.gsub(/^/, ' ')
+ yaml = yaml.sub(/\A ---/, '') # there's a needed extra ' ' here
+ @file.print " #{gemspec.original_name}:"
+ @file.puts yaml
+ end
end
def cleanup