mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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
This commit is contained in:
parent
7439c06ab7
commit
09cbac3f86
3 changed files with 41 additions and 27 deletions
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
||||||
|
Fri Aug 21 07:25:45 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* lib/rdoc/ri/gemdirs.rb: split from lib/rdoc/ri/paths.rb to ge
|
||||||
|
rid of loading rubygems and searching all gems always.
|
||||||
|
|
||||||
|
Fri Aug 21 07:14:52 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* configure.in (RUBY_PROGRAM_VERSION, RUBY_RELEASE_DATE): extracts
|
||||||
|
from version.h for cross-compiling.
|
||||||
|
|
||||||
|
* template/fake.rb.in (RUBY_VERSION, RUBY_DESCRIPTION): use above.
|
||||||
|
|
||||||
Fri Aug 21 00:08:01 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Fri Aug 21 00:08:01 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* lib/rdoc/ri/paths.rb (RDoc::RI::Paths): Gem::Enable has been obsolete.
|
* lib/rdoc/ri/paths.rb (RDoc::RI::Paths): Gem::Enable has been obsolete.
|
||||||
|
|
28
lib/rdoc/ri/gemdirs.rb
Normal file
28
lib/rdoc/ri/gemdirs.rb
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
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
|
|
@ -51,33 +51,7 @@ module RDoc::RI::Paths
|
||||||
SITEDIR = File.join(base, "site")
|
SITEDIR = File.join(base, "site")
|
||||||
HOMEDIR = (File.expand_path("~/.#{rdoc}") rescue nil)
|
HOMEDIR = (File.expand_path("~/.#{rdoc}") rescue nil)
|
||||||
|
|
||||||
begin
|
autoload(:GEMDIRS, File.expand_path('../gemdirs.rb', __FILE__))
|
||||||
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
|
|
||||||
|
|
||||||
# Returns the selected documentation directories as an Array, or PATH if no
|
# Returns the selected documentation directories as an Array, or PATH if no
|
||||||
# overriding directories were given.
|
# overriding directories were given.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue