In Files

  • rdoc/attr.rb
  • rdoc/generator/markup.rb

Class/Module Index [+]

Quicksearch

RDoc::Attr

An attribute created by #attr, #attr_reader, #attr_writer or #attr_accessor

Attributes

rw[RW]

Is the attribute readable ('R'), writable ('W') or both ('RW')?

Public Class Methods

new(text, name, rw, comment, singleton = false) click to toggle source

Creates a new Attr with body text, name, read/write status rw and comment. singleton marks this as a class attribute.

 
               # File rdoc/attr.rb, line 20
def initialize(text, name, rw, comment, singleton = false)
  super text, name

  @rw = rw
  @singleton = singleton
  self.comment = comment
end
            

Public Instance Methods

==(other) click to toggle source

Attributes are equal when their names, singleton and rw are identical

 
               # File rdoc/attr.rb, line 31
def == other
  self.class == other.class and
    self.name == other.name and
    self.rw == other.rw and
    self.singleton == other.singleton
end
            
add_alias(an_alias, context) click to toggle source

Add an_alias as an attribute in context.

 
               # File rdoc/attr.rb, line 41
def add_alias(an_alias, context)
  new_attr = self.class.new(self.text, an_alias.new_name, self.rw,
                            self.comment, self.singleton)

  new_attr.record_location an_alias.file
  new_attr.visibility = self.visibility
  new_attr.is_alias_for = self
  @aliases << new_attr
  context.add_attribute new_attr
  new_attr
end
            
aref_prefix() click to toggle source

The aref prefix for attributes

 
               # File rdoc/attr.rb, line 56
def aref_prefix
  'attribute'
end
            
definition() click to toggle source

Returns attr_reader, attr_writer or attr_accessor as appropriate.

 
               # File rdoc/attr.rb, line 63
def definition
  case @rw
  when 'RW' then 'attr_accessor'
  when 'R'  then 'attr_reader'
  when 'W'  then 'attr_writer'
  end
end
            
marshal_dump() click to toggle source

Dumps this Attr for use by ri. See also marshal_load

 
               # File rdoc/attr.rb, line 87
def marshal_dump
  [ MARSHAL_VERSION,
    @name,
    full_name,
    @rw,
    @visibility,
    parse(@comment),
    singleton,
    @file.absolute_name,
  ]
end
            
marshal_load(array) click to toggle source

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

 
               # File rdoc/attr.rb, line 106
def marshal_load array
  version     = array[0]
  @name       = array[1]
  @full_name  = array[2]
  @rw         = array[3]
  @visibility = array[4]
  @comment    = array[5]
  @singleton  = array[6] || false # MARSHAL_VERSION == 0

  @file = RDoc::TopLevel.new array[7] if version > 1

  @parent_name = @full_name
end