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
Document
with #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
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.
-
#parts
readonly
The parts of the
Document
.
Instance Method Summary
-
#<<(part)
Appends
part
to the document. -
#accept(visitor)
Runs this document and all its
#items
throughvisitor
-
#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
other
when the file matches and adds documents fromother
when 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