class RDoc::RI::Driver

def parse_name(name)

def parse_name(name)
  parts = name.split(/(::|#|\.)/)
  if parts.length == 1 then
    if parts.first =~ /^[a-z]/ then
      type = '.'
      meth = parts.pop
    else
      type = nil
      meth = nil
    end
  elsif parts.length == 2 or parts.last =~ /::|#|\./ then
    type = parts.pop
    meth = nil
  elsif parts[-2] != '::' or parts.last !~ /^[A-Z]/ then
    meth = parts.pop
    type = parts.pop
  end
  klass = parts.join
  [klass, type, meth]
end