An attribute created by #attr, #attr_reader, #attr_writer or #attr_accessor
Creates a new Attr with body text, name, read/write status rw and comment. singleton marks this as a class attribute.
# File lib/rdoc/attr.rb, line 18 def initialize(text, name, rw, comment, singleton = false) super text, name @rw = rw @singleton = singleton self.comment = comment end
Attributes are equal when their names, singleton and rw are identical
# File lib/rdoc/attr.rb, line 29 def == other self.class == other.class and self.name == other.name and self.rw == other.rw and self.singleton == other.singleton end
Add an_alias as an attribute in context.
# File lib/rdoc/attr.rb, line 39 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
The aref prefix for attributes
# File lib/rdoc/attr.rb, line 54 def aref_prefix 'attribute' end
Returns attr_reader, attr_writer or attr_accessor as appropriate.
# File lib/rdoc/attr.rb, line 61 def definition case @rw when 'RW' then 'attr_accessor' when 'R' then 'attr_reader' when 'W' then 'attr_writer' end end
Dumps this Attr for use by ri. See also marshal_load
# File lib/rdoc/attr.rb, line 85 def marshal_dump [ MARSHAL_VERSION, @name, full_name, @rw, @visibility, parse(@comment), singleton, @file.absolute_name, ] end
Loads this Attr from array. For a loaded Attr the following methods will return cached values:
# File lib/rdoc/attr.rb, line 104 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
Generated with the Darkfish Rdoc Generator 2.