We contain the common stuff for contexts (which are containers) and other elements (methods, attributes and so on)
There’s a wee trick we pull. Comment blocks can have directives that override the stuff we extract during the parse. So, we have a special class method, ::attr_overridable, that lets code objects list those directives. Wehn a comment is assigned, we then extract out any matching directives and update our object
# File rdoc/code_objects.rb, line 97
def CodeObject.attr_overridable(name, *aliases)
@overridables ||= {}
attr_accessor name
aliases.unshift name
aliases.each do |directive_name|
@overridables[directive_name.to_s] = name
end
end
Update the comment, but don’t overwrite a real comment with an empty one
# File rdoc/code_objects.rb, line 87
def comment=(comment)
@comment = comment unless comment.empty?
end
# File rdoc/code_objects.rb, line 57
def document_children=(val)
@document_children = val
if !val
remove_classes_and_modules
end
end
# File rdoc/code_objects.rb, line 34
def document_self=(val)
@document_self = val
if !val
remove_methods_etc
end
end
Default callbacks to nothing, but this is overridden for classes and modules
# File rdoc/code_objects.rb, line 69
def remove_classes_and_modules
end
# File rdoc/code_objects.rb, line 72
def remove_methods_etc
end
Commenting is here to help enhance the documentation. For example, sample code, or clarification of the documentation.
If you are posting code samples in your comments, please wrap them in "<pre><code class="ruby" > ... </code></pre>" markup in order to get syntax highlighting.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file a bug report so that it can be corrected for the next release. Thank you.
Access the code object’s comment