module RDoc::RI::Paths
def self.gemdirs
def self.gemdirs return @gemdirs if @gemdirs require 'rubygems' unless defined?(Gem) # HACK dup'd from Gem.latest_partials and friends all_paths = [] all_paths = Gem.path.map do |dir| Dir[File.join(dir, 'doc', '*', 'ri')] end.flatten ri_paths = {} all_paths.each do |dir| base = File.basename File.dirname(dir) if base =~ /(.*)-((\d+\.)*\d+)/ then name, version = $1, $2 ver = Gem::Version.new version if ri_paths[name].nil? or ver > ri_paths[name][0] then ri_paths[name] = [ver, dir] end end end @gemdirs = ri_paths.map { |k,v| v.last }.sort rescue LoadError @gemdirs = [] end