diff options
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | lib/irb/cmd/help.rb | 7 | ||||
-rw-r--r-- | lib/rdoc/ri/driver.rb | 12 | ||||
-rw-r--r-- | lib/rdoc/ri/util.rb | 2 |
4 files changed, 31 insertions, 6 deletions
@@ -1,3 +1,19 @@ +Thu Mar 13 03:12:48 2008 Yukihiro Matsumoto <matz@ruby-lang.org> + + * lib/irb/cmd/help.rb: should be updated for new ri structure. + [ruby-core:15825] + + * lib/rdoc/ri/driver.rb (RDoc::initialize): allow options to be optional. + + * lib/rdoc/ri/driver.rb (RDoc::class_cache): map_dirs may be + empty. + + * lib/rdoc/ri/driver.rb (RDoc::get_info_for): revive get_info_for + method. maybe broken. + + * lib/rdoc/ri/util.rb (RDoc::initialize): should not use RiError + no more. + Thu Mar 13 01:45:25 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (stdint.h): check if presence. diff --git a/lib/irb/cmd/help.rb b/lib/irb/cmd/help.rb index 8e0b0586fb..e1f47e2c97 100644 --- a/lib/irb/cmd/help.rb +++ b/lib/irb/cmd/help.rb @@ -8,20 +8,21 @@ # # -require 'rdoc/ri/ri_driver' +require 'rdoc/ri/driver' +require 'rdoc/ri/util' module IRB module ExtendCommand module Help begin - @ri = RiDriver.new + @ri = RDoc::RI::Driver.new rescue SystemExit else def self.execute(context, *names) names.each do |name| begin @ri.get_info_for(name.to_s) - rescue RiError + rescue RDoc::RI::Error puts $!.message end end diff --git a/lib/rdoc/ri/driver.rb b/lib/rdoc/ri/driver.rb index 02271de3dd..b254d3574f 100644 --- a/lib/rdoc/ri/driver.rb +++ b/lib/rdoc/ri/driver.rb @@ -200,7 +200,10 @@ Options may also be set in the 'RI' environment variable. ri.run end - def initialize(options) + def initialize(options={}) + options[:formatter] ||= RDoc::RI::Formatter.for('plain') + options[:use_stdout] ||= !$stdout.tty? + options[:width] ||= 72 @names = options[:names] @class_cache_name = 'classes' @@ -226,7 +229,7 @@ Options may also be set in the 'RI' environment variable. end.max up_to_date = (File.exist?(class_cache_file_path) and - newest < File.mtime(class_cache_file_path)) + newest and newest < File.mtime(class_cache_file_path)) @class_cache = if up_to_date then load_cache_for @class_cache_name @@ -344,6 +347,11 @@ Options may also be set in the 'RI' environment variable. YAML.load File.read(path).gsub(/ \!ruby\/(object|struct):(RDoc::RI|RI|SM).*/, '') end + def get_info_for(arg) + @names = [arg] + run + end + def run if @names.empty? then @display.list_known_classes class_cache.keys.sort diff --git a/lib/rdoc/ri/util.rb b/lib/rdoc/ri/util.rb index c4e6af47f0..34277f2594 100644 --- a/lib/rdoc/ri/util.rb +++ b/lib/rdoc/ri/util.rb @@ -62,7 +62,7 @@ class RDoc::RI::NameDescriptor end if @method_name =~ /::|\.|#/ or !tokens.empty? - raise RiError.new("Bad argument: #{arg}") + raise RDoc::RI::Error.new("Bad argument: #{arg}") end if separator && separator != '.' @is_class_method = separator == "::" |