1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Restore require rubygems check

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
drbrain 2008-02-12 01:17:39 +00:00
parent 0472db84c5
commit 0ecb56f170
2 changed files with 25 additions and 17 deletions

View file

@ -1,3 +1,7 @@
Tue Feb 12 10:16:47 2008 Eric Hodel <drbrain@segment7.net>
* lib/rdoc/ri/paths.rb: Restore require rubygems check.
Tue Feb 12 02:42:27 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* range.c (range_include): specialize single character string

View file

@ -42,30 +42,34 @@ module RDoc::RI::Paths
# This is the search path for 'ri'
PATH = [ SYSDIR, SITEDIR, HOMEDIR ].find_all {|p| p && File.directory?(p)}
require 'rubygems' unless defined?(Gem) and Gem::Enable
begin
require 'rubygems' unless defined?(Gem) and Gem::Enable
# HACK dup'd from Gem.latest_partials and friends
all_paths = []
# 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
all_paths = Gem.path.map do |dir|
Dir[File.join(dir, 'doc', '*', 'ri')]
end.flatten
ri_paths = {}
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]
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
end
GEMDIRS = ri_paths.map { |k,v| v.last }.sort
GEMDIRS.each { |dir| PATH << dir }
GEMDIRS = ri_paths.map { |k,v| v.last }.sort
GEMDIRS.each { |dir| PATH << dir }
rescue LoadError
GEMDIRS = []
end
# Returns the selected documentation directories as an Array, or PATH if no
# overriding directories were given.