This method is deprecated or moved on the latest stable version.
The last existing version (v1_8_7_330) is shown here.
find_class_comment(class_name, class_meth)
private
Look for class or module documentation above Init_+class_name+(void), in a
Document-class class_name (or module) comment or above an
rb_define_class (or module). If a comment is supplied above a matching
Init_ and a rb_define_class the Init_ comment is used.
/*
* This is a comment for Foo
*/Init_Foo(void){VALUEcFoo=rb_define_class("Foo",rb_cObject);}/*
* Document-class: Foo
* This is a comment for Foo
*/Init_foo(void){VALUEcFoo=rb_define_class("Foo",rb_cObject);}/*
* This is a comment for Foo
*/VALUEcFoo=rb_define_class("Foo",rb_cObject);
# File lib/rdoc/parsers/parse_c.rb, line 293
def find_class_comment(class_name, class_meth)
comment = nil
if @body =~ %r{((?>/\*.*?\*/\s+))
(static\s+)?void\s+Init_#{class_name}\s*(?:_\(\s*)?\(\s*(?:void\s*)?\)}xmi
comment = $1
elsif @body =~ %r{Document-(class|module):\s#{class_name}\s*?\n((?>.*?\*/))}m
comment = $2
else
if @body =~ /rb_define_(class|module)/m then
class_name = class_name.split("::").last
comments = []
@body.split(/(\/\*.*?\*\/)\s*?\n/m).each_with_index do |chunk, index|
comments[index] = chunk
if chunk =~ /rb_define_(class|module).*?"(#{class_name})"/m then
comment = comments[index-1]
break
end
end
end
end
class_meth.comment = mangle_comment(comment) if comment
end