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

Methods
#
A
D
M
N
Included Modules
Constants
MARSHAL_VERSION = 2
 
Attributes
[RW] rw

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

Class Public methods
new(text, name, rw, comment, singleton = false)

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

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

  @rw = rw
  @singleton = singleton
  self.comment = comment
end
Instance Public methods
==(other)

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

# File ../ruby/lib/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)

Add an_alias as an attribute in context.

# File ../ruby/lib/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()

The aref prefix for attributes

# File ../ruby/lib/rdoc/attr.rb, line 56
def aref_prefix
  'attribute'
end
definition()

Returns attr_reader, attr_writer or attr_accessor as appropriate.

# File ../ruby/lib/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()

Dumps this Attr for use by ri. See also marshal_load

# File ../ruby/lib/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)

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

# File ../ruby/lib/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