Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more
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
Access the code object's comment