Class: RDoc::Markup::ToTableOfContents
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
           Formatter | |
| Instance Chain: 
          self,
           Formatter | |
| Inherits: | RDoc::Markup::Formatter 
 | 
| Defined in: | lib/rdoc/markup/to_table_of_contents.rb | 
Overview
Extracts just the RDoc::Markup::Heading elements from a Document to help build a table of contents
Class Method Summary
- 
    
      .to_toc  
    
    Singleton for table-of-contents generation. 
- .new ⇒ ToTableOfContents constructor Internal use only
Formatter - Inherited
| .gen_relative_url | Converts a target url to one that is relative to a given path. | 
| .new | Creates a new  | 
Instance Attribute Summary
- 
    
      #omit_headings_below  
    
    rw
    Omits headings with a level less than the given level. 
- 
    
      #res  
    
    readonly
    Output accumulator. 
Formatter - Inherited
| #in_tt? | Are we currently inside tt tags? | 
Instance Method Summary
- 
    
      #accept_document(document)  
    
    Adds documentto the output, using its heading cutoff if present.
- 
    
      #accept_heading(heading)  
    
    Adds headingto the table of contents.
- 
    
      #end_accepting  
    
    Returns the table of contents. 
- 
    
      #start_accepting  
    
    Prepares the visitor for text generation. 
- 
    
      #suppressed?(heading)  ⇒ Boolean 
    
    Returns true if headingis below the display threshold.
- #accept_blank_line(*node) Internal use only
- #accept_block_quote(*node) Internal use only
- #accept_list_end(*node) Internal use only
- #accept_list_end_bullet(*node) Internal use only
- #accept_list_item_end(*node) Internal use only
- #accept_list_item_start(*node) Internal use only
- #accept_list_start(*node) Internal use only
- #accept_paragraph(*node) Internal use only
- #accept_raw(*node) Internal use only
- #accept_rule(*node) Internal use only
- #accept_table(*node) Internal use only
- #accept_verbatim(*node) Internal use only
Formatter - Inherited
| #accept_document | Adds  | 
| #add_regexp_handling_RDOCLINK | Adds a regexp handling for links of the form rdoc-…: | 
| #add_regexp_handling_TIDYLINK | Adds a regexp handling for links of the form  | 
| #add_tag | Add a new set of tags for an attribute. | 
| #annotate | Allows  | 
| #convert | Marks up  | 
| #convert_flow | Converts flow items  | 
| #convert_regexp_handling | Converts added regexp handlings. | 
| #convert_string | Converts a string to be fancier if desired. | 
| #ignore | Use ignore in your subclass to ignore the content of a node. | 
| #off_tags | Turns off tags for  | 
| #on_tags | Turns on tags for  | 
| #parse_url | Extracts and a scheme, url and an anchor id from  | 
| #tt? | Is  | 
Constructor Details
    .new  ⇒ ToTableOfContents 
  
  # File 'lib/rdoc/markup/to_table_of_contents.rb', line 27
def initialize # :nodoc: super nil @omit_headings_below = nil end
Class Method Details
.to_toc
Singleton for table-of-contents generation
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 13
def self.to_toc @to_toc ||= new end
Instance Attribute Details
#omit_headings_below (rw)
Omits headings with a level less than the given level.
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 25
attr_accessor :omit_headings_below
#res (readonly)
Output accumulator
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 20
attr_reader :res
Instance Method Details
#accept_blank_line(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 77
alias accept_blank_line ignore
#accept_block_quote(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 74
alias accept_block_quote ignore
#accept_document(document)
Adds document to the output, using its heading cutoff if present
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 36
def accept_document document @omit_headings_below = document.omit_headings_below super end
#accept_heading(heading)
Adds heading to the table of contents
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 45
def accept_heading heading @res << heading unless suppressed? heading end
#accept_list_end(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 80
alias accept_list_end ignore
#accept_list_end_bullet(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 83
alias accept_list_end_bullet ignore
#accept_list_item_end(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 82
alias accept_list_item_end ignore
#accept_list_item_start(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 81
alias accept_list_item_start ignore
#accept_list_start(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 84
alias accept_list_start ignore
#accept_paragraph(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 78
alias accept_paragraph ignore
#accept_raw(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 75
alias accept_raw ignore
#accept_rule(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 76
alias accept_rule ignore
#accept_table(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 85
alias accept_table ignore
#accept_verbatim(*node)
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 79
alias accept_verbatim ignore
#end_accepting
Returns the table of contents
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 52
def end_accepting @res end
#start_accepting
Prepares the visitor for text generation
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 59
def start_accepting @omit_headings_below = nil @res = [] end
    #suppressed?(heading)  ⇒ Boolean 
  
Returns true if heading is below the display threshold
# File 'lib/rdoc/markup/to_table_of_contents.rb', line 67
def suppressed? heading return false unless @omit_headings_below heading.level > @omit_headings_below end