new (Gem::Indexer)

    # File lib/rubygems/indexer.rb, line 59
      def initialize(directory, options = {})
        unless ''.respond_to? :to_xs then
          fail "Gem::Indexer requires that the XML Builder library be installed:" \
               "\n\tgem install builder"
        end

        options = { :build_legacy => true, :build_modern => true }.merge options

        @build_legacy = options[:build_legacy]
        @build_modern = options[:build_modern]

        @rss_title = options[:rss_title]
        @rss_host = options[:rss_host]
        @rss_gems_host = options[:rss_gems_host]

        @dest_directory = directory
        @directory = File.join Dir.tmpdir, "gem_generate_index_#{$$}"

        marshal_name = "Marshal.#{Gem.marshal_version}"

        @master_index = File.join @directory, 'yaml'
        @marshal_index = File.join @directory, marshal_name

        @quick_dir = File.join @directory, 'quick'

        @quick_marshal_dir = File.join @quick_dir, marshal_name

        @quick_index = File.join @quick_dir, 'index'
        @latest_index = File.join @quick_dir, 'latest_index'

        @specs_index = File.join @directory, "specs.#{Gem.marshal_version}"
        @latest_specs_index = File.join @directory,
                                        "latest_specs.#{Gem.marshal_version}"
        @prerelease_specs_index = File.join(@directory,
                                            "prerelease_specs.#{Gem.marshal_version}")

        @dest_specs_index = File.join @dest_directory,
                                      "specs.#{Gem.marshal_version}"
        @dest_latest_specs_index = File.join @dest_directory,
                                             "latest_specs.#{Gem.marshal_version}"
        @dest_prerelease_specs_index = File.join @dest_directory,
                                                "prerelease_specs.#{Gem.marshal_version}"

        @rss_index = File.join @directory, 'index.rss'

        @files = []
      end