class RDoc::Markup::ToTtOnly
frozen_string_literal: true
Extracts sections of text enclosed in plus, tt or code. Used to discover undocumented parameters.
Attributes
list_type[R]
Stack of list types
res[R]
Output accumulator
Public Class Methods
new(markup = nil)
click to toggle source
Creates a new tt-only formatter.
Calls superclass method
RDoc::Markup::Formatter.new
# File lib/rdoc/markup/to_tt_only.rb, line 21 def initialize markup = nil super nil, markup add_tag :TT, nil, nil end
Public Instance Methods
accept_block_quote(block_quote)
click to toggle source
Adds tts from block_quote
to the output
# File lib/rdoc/markup/to_tt_only.rb, line 30 def accept_block_quote block_quote tt_sections block_quote.text end
accept_list_end(list)
click to toggle source
Pops the list type for list
from list_type
# File lib/rdoc/markup/to_tt_only.rb, line 37 def accept_list_end list @list_type.pop end
accept_list_item_start(list_item)
click to toggle source
Prepares the visitor for consuming list_item
# File lib/rdoc/markup/to_tt_only.rb, line 51 def accept_list_item_start list_item case @list_type.last when :NOTE, :LABEL then Array(list_item.label).map do |label| tt_sections label end.flatten end end
accept_list_start(list)
click to toggle source
Pushes the list type for list
onto list_type
# File lib/rdoc/markup/to_tt_only.rb, line 44 def accept_list_start list @list_type << list.type end
accept_paragraph(paragraph)
click to toggle source
Adds paragraph
to the output
# File lib/rdoc/markup/to_tt_only.rb, line 63 def accept_paragraph paragraph tt_sections(paragraph.text) end
do_nothing(markup_item)
click to toggle source
Does nothing to markup_item
because it doesn't have any
user-built content
# File lib/rdoc/markup/to_tt_only.rb, line 71 def do_nothing markup_item end
Also aliased as: accept_blank_line, accept_heading, accept_list_item_end, accept_raw, accept_rule, accept_verbatim
end_accepting()
click to toggle source
Returns an Array of items that were wrapped in plus, tt or code.
# File lib/rdoc/markup/to_tt_only.rb, line 107 def end_accepting @res.compact end
start_accepting()
click to toggle source
Prepares the visitor for gathering tt sections
# File lib/rdoc/markup/to_tt_only.rb, line 114 def start_accepting @res = [] @list_type = [] end
tt_sections(text)
click to toggle source
Extracts tt sections from text
# File lib/rdoc/markup/to_tt_only.rb, line 84 def tt_sections text flow = @am.flow text.dup flow.each do |item| case item when String then @res << item if in_tt? when RDoc::Markup::AttrChanger then off_tags res, item on_tags res, item when RDoc::Markup::RegexpHandling then @res << convert_regexp_handling(item) if in_tt? # TODO can this happen? else raise "Unknown flow element: #{item.inspect}" end end res end