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 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 lib/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 lib/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 lib/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 lib/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 lib/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 lib/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