| Server IP : 109.234.162.214 / Your IP : 216.73.216.34 Web Server : Apache System : Linux servd162214.srv.odns.fr 4.18.0-372.26.1.lve.1.el8.x86_64 #1 SMP Fri Sep 16 14:08:19 EDT 2022 x86_64 User : carpe ( 1178) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/alt/ruby23/lib64/ruby/2.3.0/rdoc/markup/ |
Upload File : |
# frozen_string_literal: false
##
# Extracts just the RDoc::Markup::Heading elements from a
# RDoc::Markup::Document to help build a table of contents
class RDoc::Markup::ToTableOfContents < RDoc::Markup::Formatter
@to_toc = nil
##
# Singleton for table-of-contents generation
def self.to_toc
@to_toc ||= new
end
##
# Output accumulator
attr_reader :res
##
# Omits headings with a level less than the given level.
attr_accessor :omit_headings_below
def initialize # :nodoc:
super nil
@omit_headings_below = nil
end
##
# Adds +document+ to the output, using its heading cutoff if present
def accept_document document
@omit_headings_below = document.omit_headings_below
super
end
##
# Adds +heading+ to the table of contents
def accept_heading heading
@res << heading unless suppressed? heading
end
##
# Returns the table of contents
def end_accepting
@res
end
##
# Prepares the visitor for text generation
def start_accepting
@omit_headings_below = nil
@res = []
end
##
# Returns true if +heading+ is below the display threshold
def suppressed? heading
return false unless @omit_headings_below
heading.level > @omit_headings_below
end
# :stopdoc:
alias accept_block_quote ignore
alias accept_raw ignore
alias accept_rule ignore
alias accept_blank_line ignore
alias accept_paragraph ignore
alias accept_verbatim ignore
alias accept_list_end ignore
alias accept_list_item_start ignore
alias accept_list_item_end ignore
alias accept_list_end_bullet ignore
alias accept_list_start ignore
# :startdoc:
end