2010-05-14 19:10:53 +00:00
|
|
|
Mon Dec 24 16:18:57 2007 Eric Hodel <drbrain@segment7.net>
|
|
|
|
|
|
|
|
* lib/rdoc/ri/ri_options.rb: Fix ri --help listing of gem ri paths.
|
|
|
|
Merge of r14567 and r14569 from trunk.
|
|
|
|
|
|
|
|
* lib/rdoc/ri/ri_paths.rb: Fix duplication of ri data for multiple
|
|
|
|
gems. Merge of r14567 from trunk
|
|
|
|
|
|
|
|
Index: ruby_1_8/lib/rdoc/ri/ri_options.rb
|
|
|
|
===================================================================
|
|
|
|
--- ruby_1_8/lib/rdoc/ri/ri_options.rb (revision 14581)
|
|
|
|
+++ ruby_1_8/lib/rdoc/ri/ri_options.rb (revision 14582)
|
|
|
|
@@ -62,10 +62,11 @@
|
|
|
|
(RI::Paths::HOMEDIR || "No ~/.rdoc found") ],
|
2009-10-13 18:03:03 +00:00
|
|
|
|
|
|
|
[ "--gems", nil, nil,
|
2010-05-14 19:10:53 +00:00
|
|
|
- "Include documentation from Rubygems:\n " +
|
2009-10-13 18:03:03 +00:00
|
|
|
- (RI::Paths::GEMDIRS ? "#{Gem.path}/doc/*/ri" :
|
2010-05-14 19:10:53 +00:00
|
|
|
- "No Rubygems ri found.") ],
|
|
|
|
-
|
|
|
|
+ "Include documentation from RubyGems:\n" +
|
|
|
|
+ (RI::Paths::GEMDIRS ?
|
|
|
|
+ Gem.path.map { |dir| " #{dir}/doc/*/ri" }.join("\n") :
|
|
|
|
+ "No Rubygems ri found.") ],
|
|
|
|
+
|
2009-10-13 18:03:03 +00:00
|
|
|
[ "--format", "-f", "<name>",
|
2010-05-14 19:10:53 +00:00
|
|
|
"Format to use when displaying output:\n" +
|
|
|
|
" " + RI::TextFormatter.list + "\n" +
|
|
|
|
@@ -116,7 +117,8 @@
|
|
|
|
def OptionList.error(msg)
|
|
|
|
$stderr.puts
|
|
|
|
$stderr.puts msg
|
|
|
|
- $stderr.puts "\nFor help on options, try 'ri --help'\n\n"
|
|
|
|
+ name = File.basename $PROGRAM_NAME
|
|
|
|
+ $stderr.puts "\nFor help on options, try '#{name} --help'\n\n"
|
|
|
|
exit 1
|
|
|
|
end
|
|
|
|
|
|
|
|
@@ -136,7 +138,11 @@
|
2009-10-13 18:03:03 +00:00
|
|
|
RI::Paths::HOMEDIR
|
|
|
|
]
|
|
|
|
|
|
|
|
- directories << "#{Gem.path}/doc/*/ri" if RI::Paths::GEMDIRS
|
2010-05-14 19:10:53 +00:00
|
|
|
+ if RI::Paths::GEMDIRS then
|
|
|
|
+ Gem.path.each do |dir|
|
|
|
|
+ directories << "#{dir}/doc/*/ri"
|
|
|
|
+ end
|
2009-10-13 18:03:03 +00:00
|
|
|
+ end
|
|
|
|
|
|
|
|
directories = directories.join("\n ")
|
|
|
|
|
2010-05-14 19:10:53 +00:00
|
|
|
@@ -157,16 +163,16 @@
|
|
|
|
|
|
|
|
For example:
|
|
|
|
|
|
|
|
- ri File
|
|
|
|
- ri File.new
|
|
|
|
- ri F.n
|
|
|
|
- ri zip
|
|
|
|
+ #{name} File
|
|
|
|
+ #{name} File.new
|
|
|
|
+ #{name} F.n
|
|
|
|
+ #{name} zip
|
|
|
|
|
|
|
|
Note that shell quoting may be required for method names
|
|
|
|
containing punctuation:
|
|
|
|
|
|
|
|
- ri 'Array.[]'
|
|
|
|
- ri compact\\!
|
|
|
|
+ #{name} 'Array.[]'
|
|
|
|
+ #{name} compact\\!
|
|
|
|
|
|
|
|
By default ri searches for documentation in the following
|
|
|
|
directories:
|
|
|
|
@@ -180,8 +186,8 @@
|
|
|
|
EOT
|
|
|
|
|
|
|
|
if short_form
|
|
|
|
- puts "For help on options, type 'ri -h'"
|
|
|
|
- puts "For a list of classes I know about, type 'ri -c'"
|
|
|
|
+ puts "For help on options, type '#{name} -h'"
|
|
|
|
+ puts "For a list of classes I know about, type '#{name} -c'"
|
|
|
|
else
|
|
|
|
puts "Options:\n\n"
|
|
|
|
OPTION_LIST.each do|long, short, arg, desc|
|
|
|
|
Index: ruby_1_8/lib/rdoc/ri/ri_paths.rb
|
|
|
|
===================================================================
|
|
|
|
--- ruby_1_8/lib/rdoc/ri/ri_paths.rb (revision 14581)
|
|
|
|
+++ ruby_1_8/lib/rdoc/ri/ri_paths.rb (revision 14582)
|
|
|
|
@@ -44,8 +44,29 @@
|
2009-10-13 18:03:03 +00:00
|
|
|
|
|
|
|
begin
|
2009-10-14 15:24:31 +00:00
|
|
|
require 'rubygems'
|
2009-10-13 18:03:03 +00:00
|
|
|
- GEMDIRS = Dir["#{Gem.path}/doc/*/ri"]
|
2010-05-14 19:10:53 +00:00
|
|
|
- GEMDIRS.each { |path| RI::Paths::PATH << path }
|
|
|
|
+
|
|
|
|
+ # 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
|
|
|
|
+ GEMDIRS.each { |dir| RI::Paths::PATH << dir }
|
2009-10-13 18:03:03 +00:00
|
|
|
rescue LoadError
|
|
|
|
GEMDIRS = nil
|
2010-05-14 19:10:53 +00:00
|
|
|
end
|
|
|
|
@@ -55,7 +76,7 @@
|
|
|
|
|
|
|
|
def self.path(use_system, use_site, use_home, use_gems, *extra_dirs)
|
|
|
|
path = raw_path(use_system, use_site, use_home, use_gems, *extra_dirs)
|
|
|
|
- return path.select { |path| File.directory? path }
|
|
|
|
+ return path.select { |directory| File.directory? directory }
|
|
|
|
end
|
|
|
|
|
|
|
|
# Returns the selected documentation directories including nonexistent
|