Class: RDoc::ClassModule

Inherits:
Context show all
Defined in:
lib/rdoc/code_objects.rb

Overview

ClassModule is the base class for objects representing either a class or a module.

Direct Known Subclasses

AnonClass, NormalClass, NormalModule, SingleClass

Instance Attribute Summary collapse

Attributes inherited from Context

#aliases, #attributes, #constants, #in_files, #includes, #method_list, #name, #requires, #sections, #visibility

Attributes inherited from CodeObject

#comment, #document_children, #document_self, #done_documenting, #force_documentation, #parent, #section, #viewer

Instance Method Summary collapse

Methods inherited from Context

#<=>, #add_alias, #add_attribute, #add_class, #add_class_or_module, #add_constant, #add_include, #add_method, #add_module, #add_require, #add_to, #classes, #defined_in?, #each_attribute, #each_classmodule, #each_constant, #each_method, #find_enclosing_module_named, #find_local_symbol, #find_module_named, #find_symbol, #initialize_classes_and_modules, #initialize_methods_etc, #modules, #ongoing_visibility=, #record_location, #remove_classes_and_modules, #remove_methods_etc, #set_current_section, #set_visibility_for, #toplevel

Methods inherited from CodeObject

attr_overridable, #remove_classes_and_modules, #remove_methods_etc, #start_doc, #stop_doc

Constructor Details

#initialize(name, superclass = nil) ⇒ ClassModule

Returns a new instance of ClassModule.



556
557
558
559
560
561
562
# File 'lib/rdoc/code_objects.rb', line 556

def initialize(name, superclass = nil)
  @name       = name
  @diagram    = nil
  @superclass = superclass
  @comment    = ""
  super()
end

Instance Attribute Details

#diagramObject

Returns the value of attribute diagram



554
555
556
# File 'lib/rdoc/code_objects.rb', line 554

def diagram
  @diagram
end

#superclassObject (readonly)

Returns the value of attribute superclass



553
554
555
# File 'lib/rdoc/code_objects.rb', line 553

def superclass
  @superclass
end

Instance Method Details

#find_class_named(name) ⇒ Object



591
592
593
594
595
# File 'lib/rdoc/code_objects.rb', line 591

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

#full_nameObject

Return the fully qualified name of this class or module



565
566
567
568
569
570
571
# File 'lib/rdoc/code_objects.rb', line 565

def full_name
  if @parent && @parent.full_name
    @parent.full_name + "::" + @name
  else
    @name
  end
end

#http_url(prefix) ⇒ Object



573
574
575
576
# File 'lib/rdoc/code_objects.rb', line 573

def http_url(prefix)
  path = full_name.split("::")
  File.join(prefix, *path) + ".html"
end

#is_module?Boolean

Return true if this object represents a module

Returns:

  • (Boolean)


579
580
581
# File 'lib/rdoc/code_objects.rb', line 579

def is_module?
  false
end

#to_sObject

to_s is simply for debugging



584
585
586
587
588
589
# File 'lib/rdoc/code_objects.rb', line 584

def to_s
  res = self.class.name + ": " + @name 
  res << @comment.to_s
  res << super
  res
end