A constant
Constants are ordered by name
# File ruby-3.1.2/lib/rdoc/constant.rb, line 47 def <=> other return unless self.class === other [parent_name, name] <=> [other.parent_name, other.name] end
A constant is documented if it has a comment, or is an alias for a documented class or module.
# File ruby-3.1.2/lib/rdoc/constant.rb, line 66 def documented? return true if super return false unless @is_alias_for case @is_alias_for when String then found = @store.find_class_or_module @is_alias_for return false unless found @is_alias_for = found end @is_alias_for.documented? end
Full constant name including namespace
# File ruby-3.1.2/lib/rdoc/constant.rb, line 81 def full_name @full_name ||= "#{parent_name}::#{@name}" end
The module or class this constant is an alias for
# File ruby-3.1.2/lib/rdoc/constant.rb, line 88 def is_alias_for case @is_alias_for when String then found = @store.find_class_or_module @is_alias_for @is_alias_for = found if found @is_alias_for else @is_alias_for end end
Dumps this Constant
for use by ri. See also marshal_load
# File ruby-3.1.2/lib/rdoc/constant.rb, line 109 def marshal_dump alias_name = case found = is_alias_for when RDoc::CodeObject then found.full_name else found end [ MARSHAL_VERSION, @name, full_name, @visibility, alias_name, parse(@comment), @file.relative_name, parent.name, parent.class, section.title, ] end
Loads this Constant
from array
. For a loaded Constant
the following methods will return cached values:
# File ruby-3.1.2/lib/rdoc/constant.rb, line 135 def marshal_load array initialize array[1], nil, array[5] @full_name = array[2] @visibility = array[3] || :public @is_alias_for = array[4] # 5 handled above # 6 handled below @parent_name = array[7] @parent_class = array[8] @section_title = array[9] @file = RDoc::TopLevel.new array[6] end