class RDoc::Markup::ToLabel
Creates HTML-safe labels suitable for use in id attributes. Tidylinks are converted to their link part and cross-reference links have the suppression marks removed (\SomeClass is converted to SomeClass).
Public Class Methods
          new(markup = nil)
          
          click to toggle source
          
        
        
        Creates a new formatter that will output HTML-safe labels
              Calls superclass method
              RDoc::Markup::Formatter.new
            
          
          
          # File lib/rdoc/markup/to_label.rb, line 15 def initialize markup = nil super nil, markup @markup.add_special RDoc::CrossReference::CROSSREF_REGEXP, :CROSSREF @markup.add_special(/(((\{.*?\})|\b\S+?)\[\S+?\])/, :TIDYLINK) add_tag :BOLD, '', '' add_tag :TT, '', '' add_tag :EM, '', '' @res = [] end
Public Instance Methods
          convert(text)
          
          click to toggle source
          
        
        
        Converts text to an HTML-safe label
# File lib/rdoc/markup/to_label.rb, line 31 def convert text label = convert_flow @am.flow text CGI.escape(label).gsub('%', '-').sub(/^-/, '') end
          handle_special_CROSSREF(special)
          
          click to toggle source
          
        
        
        Converts the CROSSREF special to plain text, removing the
suppression marker, if any
# File lib/rdoc/markup/to_label.rb, line 41 def handle_special_CROSSREF special text = special.text text.sub(/^\\/, '') end
          handle_special_TIDYLINK(special)
          
          click to toggle source
          
        
        
        Converts the TIDYLINK special to just the text part
# File lib/rdoc/markup/to_label.rb, line 50 def handle_special_TIDYLINK special text = special.text return text unless text =~ /\{(.*?)\}\[(.*?)\]/ or text =~ /(\S+)\[(.*?)\]/ $1 end