Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more

In Files

  • rdoc/markup/document.rb

Parent

Included Modules

Class/Module Index [+]

Quicksearch

RDoc::Markup::Document

A Document containing lists, headings, paragraphs, etc.

Attributes

file[R]

The file this document was created from. See also RDoc::ClassModule#add_comment

omit_headings_below[RW]

If a heading is below the given level it will be omitted from the #table_of_contents

parts[R]

The parts of the Document

Public Class Methods

new(*parts) click to toggle source

Creates a new Document with parts

 
               # File rdoc/markup/document.rb, line 28
def initialize *parts
  @parts = []
  @parts.concat parts

  @file = nil
  @omit_headings_from_table_of_contents_below = nil
end
            

Public Instance Methods

<<(part) click to toggle source

Appends part to the document

 
               # File rdoc/markup/document.rb, line 39
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
            
accept(visitor) click to toggle source

Runs this document and all its items through visitor

 
               # File rdoc/markup/document.rb, line 64
def accept visitor
  visitor.start_accepting

  visitor.accept_document self

  visitor.end_accepting
end
            
concat(parts) click to toggle source

Concatenates the given parts onto the document

 
               # File rdoc/markup/document.rb, line 75
def concat parts
  self.parts.concat parts
end
            
each(&block) click to toggle source

Enumerator for the parts of this document

 
               # File rdoc/markup/document.rb, line 82
def each &block
  @parts.each(&block)
end
            
empty?() click to toggle source

Does this document have no parts?

 
               # File rdoc/markup/document.rb, line 89
def empty?
  @parts.empty? or (@parts.length == 1 and merged? and @parts.first.empty?)
end
            
file=(location) click to toggle source

The file this Document was created from.

 
               # File rdoc/markup/document.rb, line 96
def file= location
  @file = case location
          when RDoc::TopLevel then
            location.relative_name
          else
            location
          end
end
            
merge(other) click to toggle source

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 113
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
            
merged?() click to toggle source

Does this Document contain other Documents?

 
               # File rdoc/markup/document.rb, line 133
def merged?
  RDoc::Markup::Document === @parts.first
end
            
push(*parts) click to toggle source

Appends parts to the document

 
               # File rdoc/markup/document.rb, line 150
def push *parts
  self.parts.concat parts
end
            
table_of_contents() click to toggle source

Returns an Array of headings in the document.

Require 'rdoc/markup/formatter' before calling this method.

 
               # File rdoc/markup/document.rb, line 159
def table_of_contents
  accept RDoc::Markup::ToTableOfContents.to_toc
end