ClassModule is the base class for objects representing either a class or a module.
# File rdoc/code_objects.rb, line 715 def find_class_named(name) return self if full_name == name @classes.each_value {|c| return c if c.find_class_named(name) } nil end
Return the fully qualified name of this class or module
# File rdoc/code_objects.rb, line 724 def full_name if @parent && @parent.full_name @parent.full_name + "::" + @name else @name end end
# File rdoc/code_objects.rb, line 732 def http_url(prefix) path = full_name.split("::") File.join(prefix, *path) + ".html" end
Does this object represent a module?
# File rdoc/code_objects.rb, line 740 def module? false end
Get the superclass of this class. Attempts to retrieve the superclass' real name by following module nesting.
# File rdoc/code_objects.rb, line 748 def superclass raise NoMethodError, "#{full_name} is a module" if module? scope = self begin superclass = scope.classes.find { |c| c.name == @superclass } return superclass.full_name if superclass scope = scope.parent end until scope.nil? or TopLevel === scope @superclass end