class 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.
Calls superclass method
RDoc::MethodAttr::new
# File lib/rdoc/attr.rb, line 25 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 lib/rdoc/attr.rb, line 36 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 lib/rdoc/attr.rb, line 46 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 lib/rdoc/attr.rb, line 61 def aref_prefix 'attribute' end
definition()
click to toggle source
Returns attr_reader, attr_writer or attr_accessor as appropriate.
# File lib/rdoc/attr.rb, line 78 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 lib/rdoc/attr.rb, line 102 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 lib/rdoc/attr.rb, line 124 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