rebuild_index (FastRI::RiIndex)

    # File lib/fastri/ri_index.rb, line 215
      def rebuild_index(paths = nil)
        @paths = paths || RI::Paths::PATH
        @gem_names = paths.map do |p|
          fullp = File.expand_path(p)
          gemname = nil
          begin
            require 'rubygems'
            Gem.path.each do |gempath|
              re = %r!^#{Regexp.escape(File.expand_path(gempath))}/doc/!
              if re =~ fullp
                gemname = fullp.gsub(re,"")[%r{^[^/]+}]
                break
              end
            end
          rescue LoadError
            # no RubyGems, no gems installed, skip it
          end
          gemname ? gemname : "system"
        end
        methods    = Hash.new{|h,k| h[k] = []}
        namespaces = methods.clone
        @paths.each_with_index do |path, source_index|
          ri_reader = RI::RiReader.new(RI::RiCache.new(path))
          obtain_classes(ri_reader.top_level_namespace.first).each{|name| namespaces[name] << source_index }
          obtain_methods(ri_reader.top_level_namespace.first).each{|name| methods[name] << source_index }
        end
        @method_array = methods.sort_by{|h,k| h}.map do |name, sources|
          "#{name} #{sources.map{|x| x.to_s}.join(' ')}"
        end
        @namespace_array = namespaces.sort_by{|h,k| h}.map do |name, sources|
          "#{name} #{sources.map{|x| x.to_s}.join(' ')}"
        end

    ??
      end