зеркало из https://github.com/github/ruby.git
* lib/rdoc/ri/display.rb (display_method_list, display_class_list):
use @formatter.raw_print_line instead of puts. * lib/rdoc/ri/driver.rb (select_methods): new method to collect all instance/class methods which match with passed pattern. * lib/rdoc/ri/driver.rb (run): use class_cache's result directly instead of select_classes' because it's removed now. * lib/rdoc/ri/driver.rb (run): search methods when passed name is not class name. [ruby-core:15309] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
ae8095e44d
Коммит
d2bb8975e1
14
ChangeLog
14
ChangeLog
|
@ -1,3 +1,17 @@
|
|||
Thu Jan 31 14:03:38 2008 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||
|
||||
* lib/rdoc/ri/display.rb (display_method_list, display_class_list):
|
||||
use @formatter.raw_print_line instead of puts.
|
||||
|
||||
* lib/rdoc/ri/driver.rb (select_methods): new method to collect all
|
||||
instance/class methods which match with passed pattern.
|
||||
|
||||
* lib/rdoc/ri/driver.rb (run): use class_cache's result directly
|
||||
instead of select_classes' because it's removed now.
|
||||
|
||||
* lib/rdoc/ri/driver.rb (run): search methods when passed name is not
|
||||
class name. [ruby-core:15309]
|
||||
|
||||
Thu Jan 31 08:31:19 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* common.mk (ext/extmk.rb, instruby.rb): inlined $(MAKE) so that can
|
||||
|
|
|
@ -136,16 +136,16 @@ class RDoc::RI::DefaultDisplay
|
|||
|
||||
def display_method_list(methods)
|
||||
page do
|
||||
puts "More than one method matched your request. You can refine"
|
||||
puts "your search by asking for information on one of:\n\n"
|
||||
@formatter.raw_print_line("More than one method matched your request. You can refine")
|
||||
@formatter.raw_print_line("your search by asking for information on one of:\n\n")
|
||||
@formatter.wrap(methods.map {|m| m.full_name} .join(", "))
|
||||
end
|
||||
end
|
||||
|
||||
def display_class_list(namespaces)
|
||||
page do
|
||||
puts "More than one class or module matched your request. You can refine"
|
||||
puts "your search by asking for information on one of:\n\n"
|
||||
@formatter.raw_print_line("More than one class or module matched your request. You can refine")
|
||||
@formatter.raw_print_line("your search by asking for information on one of:\n\n")
|
||||
@formatter.wrap(namespaces.map {|m| m.full_name}.join(", "))
|
||||
end
|
||||
end
|
||||
|
|
|
@ -346,7 +346,7 @@ Options may also be set in the 'RI' environment variable.
|
|||
|
||||
def run
|
||||
if @names.empty? then
|
||||
@display.list_known_classes select_classes
|
||||
@display.list_known_classes class_cache.keys.sort
|
||||
else
|
||||
@names.each do |name|
|
||||
case name
|
||||
|
@ -371,17 +371,33 @@ Options may also be set in the 'RI' environment variable.
|
|||
if class_cache.key? name then
|
||||
display_class name
|
||||
else
|
||||
@display.list_known_classes select_classes(/^#{name}/)
|
||||
methods = select_methods(/^#{name}/)
|
||||
if methods.size == 0
|
||||
abort "Nothing known about #{name}"
|
||||
elsif methods.size == 1
|
||||
@display.display_method_info methods.first
|
||||
else
|
||||
@display.display_method_list methods
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def select_classes(pattern = nil)
|
||||
classes = class_cache.keys.sort
|
||||
classes = classes.grep pattern if pattern
|
||||
classes
|
||||
def select_methods(pattern)
|
||||
methods = []
|
||||
class_cache.keys.sort.each do |klass|
|
||||
class_cache[klass]["instance_methods"].map{|h|h["name"]}.grep(pattern) do |name|
|
||||
method = load_cache_for(klass)[klass+'#'+name]
|
||||
methods << method if method
|
||||
end
|
||||
class_cache[klass]["class_methods"].map{|h|h["name"]}.grep(pattern) do |name|
|
||||
method = load_cache_for(klass)[klass+'::'+name]
|
||||
methods << method if method
|
||||
end
|
||||
end
|
||||
methods
|
||||
end
|
||||
|
||||
def write_cache(cache, path)
|
||||
|
|
Загрузка…
Ссылка в новой задаче