Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
A Document containing lists, headings, paragraphs, etc.
Creates a new Document with parts
# File rdoc/markup/document.rb, line 20 def initialize *parts @parts = [] @parts.push(*parts) @file = nil end
Appends part
to the document
# File rdoc/markup/document.rb, line 30 def << part case part when RDoc::Markup::Document then unless part.empty? then parts.push(*part.parts) parts << RDoc::Markup::BlankLine.new end when String then raise ArgumentError, "expected RDoc::Markup::Document and friends, got String" unless part.empty? else parts << part end end
Runs this document and all its items through visitor
# File rdoc/markup/document.rb, line 55 def accept visitor visitor.start_accepting @parts.each do |item| case item when RDoc::Markup::Document then # HACK visitor.accept_document item else item.accept visitor end end visitor.end_accepting end
Does this document have no parts?
# File rdoc/markup/document.rb, line 73 def empty? @parts.empty? or (@parts.length == 1 and merged? and @parts.first.empty?) end
When this is a collection of documents (#file is not set and this document
contains only other documents as its direct children) merge replaces documents in this
class with documents from other
when the file matches and adds
documents from other
when the files do not.
The information in other
is preferred over the receiver
# File rdoc/markup/document.rb, line 85 def merge other if empty? then @parts = other.parts return self end other.parts.each do |other_part| self.parts.delete_if do |self_part| self_part.file and self_part.file == other_part.file end self.parts << other_part end self end
Does this Document contain other Documents?
# File rdoc/markup/document.rb, line 105 def merged? RDoc::Markup::Document === @parts.first end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
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 bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.