class RDoc::RI::Driver

def display_method name

def display_method name
  found = load_methods_matching name
  raise NotFoundError, name if found.empty?
  out = RDoc::Markup::Document.new
  out << RDoc::Markup::Heading.new(1, name)
  out << RDoc::Markup::BlankLine.new
  found.each do |store, methods|
    methods.each do |method|
      out << RDoc::Markup::Paragraph.new("(from #{store.friendly_path})")
      unless name =~ /^#{Regexp.escape method.parent_name}/ then
        out << RDoc::Markup::Heading.new(3, "Implementation from #{method.parent_name}")
      end
      out << RDoc::Markup::Rule.new(1)
      if method.arglists then
        arglists = method.arglists.chomp.split "\n"
        arglists = arglists.map { |line| ['  ', line, "\n"] }
        out << RDoc::Markup::Verbatim.new(*arglists.flatten)
        out << RDoc::Markup::Rule.new(1)
      end
      out << RDoc::Markup::BlankLine.new
      out << method.comment
      out << RDoc::Markup::BlankLine.new
    end
  end
  display out
end