Class: RDoc::Markup::ToTtOnly
- Defined in:
 - lib/rdoc/markup/to_tt_only.rb
 
Overview
Extracts sections of text enclosed in plus, tt or code. Used to discover undocumented parameters.
Instance Attribute Summary collapse
- 
  
    
      #list_type  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Stack of list types.
 - 
  
    
      #res  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
Output accumulator.
 
Instance Method Summary collapse
- 
  
    
      #accept_block_quote(block_quote)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds tts from
block_quoteto the output. - 
  
    
      #accept_list_end(list)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Pops the list type for
listfrom #list_type. - 
  
    
      #accept_list_item_start(list_item)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Prepares the visitor for consuming
list_item. - 
  
    
      #accept_list_start(list)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Pushes the list type for
listonto #list_type. - 
  
    
      #accept_paragraph(paragraph)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds
paragraphto the output. - 
  
    
      #do_nothing(markup_item)  ⇒ Object 
    
    
      (also: #accept_blank_line, #accept_heading, #accept_list_item_end, #accept_raw, #accept_rule, #accept_verbatim)
    
  
  
  
  
  
  
  
  
  
    
Does nothing to
markup_itembecause it doesn’t have any user-built content. - 
  
    
      #end_accepting  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Returns an Array of items that were wrapped in plus, tt or code.
 - 
  
    
      #initialize(markup = nil)  ⇒ ToTtOnly 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Creates a new tt-only formatter.
 - 
  
    
      #start_accepting  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Prepares the visitor for gathering tt sections.
 - 
  
    
      #tt_sections(text)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Extracts tt sections from
text. 
Methods inherited from Formatter
#accept_document, #add_special_RDOCLINK, #add_special_TIDYLINK, #add_tag, #annotate, #convert, #convert_flow, #convert_special, #convert_string, gen_relative_url, #ignore, #in_tt?, #off_tags, #on_tags, #parse_url, #tt?
Constructor Details
#initialize(markup = nil) ⇒ ToTtOnly
Creates a new tt-only formatter.
      21 22 23 24 25  | 
    
      # File 'lib/rdoc/markup/to_tt_only.rb', line 21 def initialize markup = nil super nil, markup add_tag :TT, nil, nil end  | 
  
Instance Attribute Details
#list_type ⇒ Object (readonly)
Stack of list types
      11 12 13  | 
    
      # File 'lib/rdoc/markup/to_tt_only.rb', line 11 def list_type @list_type end  | 
  
#res ⇒ Object (readonly)
Output accumulator
      16 17 18  | 
    
      # File 'lib/rdoc/markup/to_tt_only.rb', line 16 def res @res end  | 
  
Instance Method Details
#accept_block_quote(block_quote) ⇒ Object
Adds tts from block_quote to the output
      30 31 32  | 
    
      # 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) ⇒ Object
Pops the list type for list from #list_type
      37 38 39  | 
    
      # 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) ⇒ Object
Prepares the visitor for consuming list_item
      51 52 53 54 55 56 57 58  | 
    
      # 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) ⇒ Object
Pushes the list type for list onto #list_type
      44 45 46  | 
    
      # File 'lib/rdoc/markup/to_tt_only.rb', line 44 def accept_list_start list @list_type << list.type end  | 
  
#accept_paragraph(paragraph) ⇒ Object
Adds paragraph to the output
      63 64 65  | 
    
      # File 'lib/rdoc/markup/to_tt_only.rb', line 63 def accept_paragraph paragraph tt_sections(paragraph.text) end  | 
  
#do_nothing(markup_item) ⇒ Object Also known as: accept_blank_line, accept_heading, accept_list_item_end, accept_raw, accept_rule, accept_verbatim
Does nothing to markup_item because it doesn’t have any user-built content
      71 72  | 
    
      # File 'lib/rdoc/markup/to_tt_only.rb', line 71 def do_nothing markup_item end  | 
  
#end_accepting ⇒ Object
Returns an Array of items that were wrapped in plus, tt or code.
      107 108 109  | 
    
      # File 'lib/rdoc/markup/to_tt_only.rb', line 107 def end_accepting @res.compact end  | 
  
#start_accepting ⇒ Object
Prepares the visitor for gathering tt sections
      114 115 116 117 118  | 
    
      # File 'lib/rdoc/markup/to_tt_only.rb', line 114 def start_accepting @res = [] @list_type = [] end  | 
  
#tt_sections(text) ⇒ Object
Extracts tt sections from text
      84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102  | 
    
      # 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 res, item res, item when RDoc::Markup::Special then @res << convert_special(item) if in_tt? # TODO can this happen? else raise "Unknown flow element: #{item.inspect}" end end res end  |