An attribute created by #attr, #attr_reader, #attr_writer or #attr_accessor
Is the attribute readable (‘R’), writable (‘W’) or both (‘RW’)?
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
/ | Search |
---|---|
? | Show this help |