Class: RDoc::Markup::Document
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Instance Chain: 
          self,
          Enumerable
         | |
| Inherits: | Object | 
| Defined in: | lib/rdoc/markup/document.rb | 
Overview
A Document containing lists, headings, paragraphs, etc.
Class Method Summary
- 
    
      .new(*parts)  ⇒ Document 
    
    constructor
    Creates a new Documentwith #parts
Instance Attribute Summary
- 
    
      #empty?  ⇒ Boolean 
    
    readonly
    Does this document have no parts? 
- 
    
      #file  
    
    rw
    The file this document was created from. 
- 
    
      #file=(location)  
    
    rw
    The file this Documentwas created from.
- 
    
      #merged?  ⇒ Boolean 
    
    readonly
    Does this Documentcontain other Documents?
- 
    
      #omit_headings_below  
    
    rw
    If a heading is below the given level it will be omitted from the table_of_contents. 
- 
    
      #parts  
    
    readonly
    The parts of the Document.
Instance Method Summary
- 
    
      #<<(part)  
    
    Appends partto the document.
- 
    
      #accept(visitor)  
    
    Runs this document and all its #itemsthroughvisitor
- 
    
      #concat(parts)  
    
    Concatenates the given #parts onto the document. 
- 
    
      #each(&block)  
    
    Enumerator for the parts of this document. 
- 
    
      #merge(other)  
    
    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 otherwhen the file matches and adds documents fromotherwhen the files do not.
- 
    
      #push(*parts)  
    
    Appends #parts to the document. 
- 
    
      #table_of_contents  
    
    Returns an Array of headings in the document. 
- #==(other) Internal use only
- #pretty_print(q) Internal use only
Constructor Details
    .new(*parts)  ⇒ Document 
  
Creates a new Document with #parts
Instance Attribute Details
    #empty?  ⇒ Boolean  (readonly)
  
Does this document have no parts?
# File 'lib/rdoc/markup/document.rb', line 90
def empty? @parts.empty? or (@parts.length == 1 and merged? and @parts.first.empty?) end
#file (rw)
The file this document was created from. See also ClassModule#add_comment
# File 'lib/rdoc/markup/document.rb', line 13
attr_reader :file
#file=(location) (rw)
The file this Document was created from.
    #merged?  ⇒ Boolean  (readonly)
  
Does this Document contain other Documents?
#omit_headings_below (rw)
If a heading is below the given level it will be omitted from the table_of_contents
# File 'lib/rdoc/markup/document.rb', line 19
attr_accessor :omit_headings_below
#parts (readonly)
The parts of the Document
# File 'lib/rdoc/markup/document.rb', line 24
attr_reader :parts
Instance Method Details
#<<(part)
Appends part to the document
# File 'lib/rdoc/markup/document.rb', line 40
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
#==(other)
#accept(visitor)
Runs this document and all its #items through visitor
# File 'lib/rdoc/markup/document.rb', line 65
def accept(visitor) visitor.start_accepting visitor.accept_document self visitor.end_accepting end
#concat(parts)
Concatenates the given #parts onto the document
#each(&block)
Enumerator for the parts of this document
# File 'lib/rdoc/markup/document.rb', line 83
def each(&block) @parts.each(&block) end
#merge(other)
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
#pretty_print(q)
# File 'lib/rdoc/markup/document.rb', line 138
def pretty_print(q) # :nodoc: start = @file ? "[doc (#{@file}): " : '[doc: ' q.group 2, start, ']' do q.seplist @parts do |part| q.pp part end end end
#push(*parts)
Appends #parts to the document
#table_of_contents
Returns an Array of headings in the document.
::RDoc::Require ‘rdoc/markup/formatter’ before calling this method.
# File 'lib/rdoc/markup/document.rb', line 160
def table_of_contents accept RDoc::Markup::ToTableOfContents.to_toc end