Method: RDoc::Parser::Ruby#parse_meta_attr
- Defined in:
- lib/rdoc/parser/ruby.rb
#parse_meta_attr(context, single, tk, comment) ⇒ Object
Parses a meta-programmed attribute and creates an RDoc::Attr.
To create foo and bar attributes on class C with comment “My attributes”:
class C
##
# :attr:
#
# My attributes
my_attr :foo, :bar
end
To create a foo attribute on class C with comment “My attribute”:
class C
##
# :attr: foo
#
# My attribute
my_attr :foo, :bar
end
1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 |
# File 'lib/rdoc/parser/ruby.rb', line 1265 def (context, single, tk, comment) args = parse_symbol_arg rw = "?" # If nodoc is given, don't document any of them tmp = RDoc::CodeObject.new read_documentation_modifiers tmp, RDoc::ATTR_MODIFIERS regexp = /^# +:?(attr(_reader|_writer|_accessor)?): *(\S*).*?\n/i if regexp =~ comment.text then comment.text = comment.text.sub(regexp, '') rw = case $1 when 'attr_reader' then 'R' when 'attr_writer' then 'W' else 'RW' end name = $3 unless $3.empty? end if name then att = create_attr context, single, name, rw, comment else args.each do |attr_name| att = create_attr context, single, attr_name, rw, comment end end att end |