A Document containing lists, headings, paragraphs, etc.
The file this document was created from. See also RDoc::ClassModule#add_comment
The parts of the Document
Creates a new Document with parts
# File lib/rdoc/markup/document.rb, line 20
def initialize *parts
  @parts = []
  @parts.concat parts
  @file = nil
end
						Appends part to the document
# File lib/rdoc/markup/document.rb, line 30
def << part
  case part
  when RDoc::Markup::Document then
    unless part.empty? then
      parts.concat 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 lib/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
						Concatenates the given parts onto the document
# File lib/rdoc/markup/document.rb, line 73
def concat parts
  self.parts.concat parts
end
						Does this document have no parts?
# File lib/rdoc/markup/document.rb, line 80
def empty?
  @parts.empty? or (@parts.length == 1 and merged? and @parts.first.empty?)
end
						The file this Document was created from.
# File lib/rdoc/markup/document.rb, line 87
def file= location
  @file = case location
          when RDoc::TopLevel then
            location.absolute_name
          else
            location
          end
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 lib/rdoc/markup/document.rb, line 104
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 lib/rdoc/markup/document.rb, line 124
def merged?
  RDoc::Markup::Document === @parts.first
end
						Appends parts to the document
# File lib/rdoc/markup/document.rb, line 141
def push *parts
  self.parts.concat parts
end
						Returns an Array of headings in the document.
Require 'rdoc/markup/formatter' before calling this method.
# File lib/rdoc/markup/document.rb, line 150
def table_of_contents
  accept RDoc::Markup::ToTableOfContents.to_toc
end
						| / | Search | 
|---|---|
| ? | Show this help |