In Files

  • rdoc/constant.rb

Class/Module Index [+]

Quicksearch

RDoc::Constant

A constant

Attributes

is_alias_for[W]

Sets the module or class this is constant is an alias for.

name[RW]

The constant’s name

value[RW]

The constant’s value

visibility[RW]

The constant’s visibility

Public Class Methods

new(name, value, comment) click to toggle source

Creates a new constant with name, value and comment

 
               # File rdoc/constant.rb, line 31
def initialize(name, value, comment)
  super()

  @name  = name
  @value = value

  @is_alias_for = nil
  @visibility   = nil

  self.comment = comment
end
            

Public Instance Methods

<=>(other) click to toggle source

Constants are ordered by name

 
               # File rdoc/constant.rb, line 46
def <=> other
  return unless self.class === other

  [parent_name, name] <=> [other.parent_name, other.name]
end
            
==(other) click to toggle source

Constants are equal when their parent and name is the same

 
               # File rdoc/constant.rb, line 55
def == other
  self.class == other.class and
    @parent == other.parent and
    @name == other.name
end
            
documented?() click to toggle source

A constant is documented if it has a comment, or is an alias for a documented class or module.

 
               # File rdoc/constant.rb, line 65
def documented?
  super or is_alias_for && is_alias_for.documented?
end
            
full_name() click to toggle source

Full constant name including namespace

 
               # File rdoc/constant.rb, line 72
def full_name
  @full_name ||= "#{parent_name}::#{@name}"
end
            
is_alias_for() click to toggle source

The module or class this constant is an alias for

 
               # File rdoc/constant.rb, line 79
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
            
marshal_dump() click to toggle source

Dumps this Constant for use by ri. See also marshal_load

 
               # File rdoc/constant.rb, line 100
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
            
marshal_load(array) click to toggle source

Loads this Constant from array. For a loaded Constant the following methods will return cached values:

 
               # File rdoc/constant.rb, line 126
def marshal_load array
  initialize array[1], nil, array[5]

  @full_name     = array[2]
  @visibility    = array[3]
  @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
            
path() click to toggle source

Path to this constant for use with HTML generator output.

 
               # File rdoc/constant.rb, line 144
def path
  "#{@parent.path}##{@name}"
end
            
store=(store) click to toggle source

Sets the store for this class or module and its contained code objects.

 
               # File rdoc/constant.rb, line 162
def store= store
  super

  @file = @store.add_file @file.full_name if @file
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus