1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rdoc/ri/gemdirs.rb
nobu 09cbac3f86 * lib/rdoc/ri/gemdirs.rb: split from lib/rdoc/ri/paths.rb to get
rid of loading rubygems and searching all gems always.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-20 22:25:52 +00:00

28 lines
629 B
Ruby

module RDoc::RI::Paths
begin
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|
if %r"/([^/]*)-((?:\d+\.)*\d+)/ri\z" =~ dir
name, version = $1, $2
ver = Gem::Version.new(version)
if !ri_paths[name] or ver > ri_paths[name][0]
ri_paths[name] = [ver, dir]
end
end
end
GEMDIRS = ri_paths.map { |k,v| v.last }.sort
rescue LoadError
GEMDIRS = []
end
end