In Files

  • rdoc/attr.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 24
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 35
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 45
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 60
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 77
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 101
def marshal_dump
  [ MARSHAL_VERSION,
    @name,
    full_name,
    @rw,
    @visibility,
    parse(@comment),
    singleton,
    @file.relative_name,
    @parent.full_name,
    @parent.class,
    @section.title
  ]
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 123
def marshal_load array
  initialize_visibility

  @aliases      = []
  @parent       = nil
  @parent_name  = nil
  @parent_class = nil
  @section      = nil
  @file         = nil

  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
  #                      7 handled below
  @parent_name   = array[8]
  @parent_class  = array[9]
  @section_title = array[10]

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

  @parent_name ||= @full_name.split('#', 2).first
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