# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 1043 def HtmlMethod.all_methods @@all_methods end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 922 def initialize(context, html_class, options) @context = context @html_class = html_class @options = options @@m_seq = @@m_seq.succ @m_seq = @@m_seq @@all_methods << self context.viewer = self if (ts = @context.token_stream) @source_code = markup_code(ts) #unless @options.inline_source # @src_url = create_source_code_file(@source_code) # @img_url = MERBGenerator.gen_url(path, 'source.png') #end end AllReferences.add(name, self) end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 1047 def <=>(other) @context <=> other.context end
we rely on the fact that the first line of a source code listing has
# File xxxxx, line dddd
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 1094 def add_line_numbers(src) if src =~ /\A.*, line (\d+)/ first = $1.to_i - 1 last = first + src.count("\n") size = last.to_s.length real_fmt = "%#{size}d: " fmt = " " * (size+2) src.gsub!(/^/) do res = sprintf(fmt, first) first += 1 fmt = real_fmt res end end end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 1114 def aliases @context.aliases end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 946 def aref @m_seq end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 990 def call_seq cs = @context.call_seq if cs cs.gsub(/\n/, "<br />\n") else nil end end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 1025 def create_source_code_file(code_body) meth_path = @html_class.path.sub(/\.html$/, '.src') File.makedirs(meth_path) file_path = File.join(meth_path, seq) + ".html" template = TemplatePage.new(RDoc::Page::SRC_PAGE) File.open(file_path, "w") do |f| values = { 'title' => CGI.escapeHTML(name), 'code' => code_body, 'style_url' => style_url(file_path, @options.css), 'charset' => @options.charset } template.write_html_on(f, values) end file_path end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 978 def description markup(@context.comment) end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 1110 def document_self @context.document_self end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 1118 def find_symbol(symbol, method=nil) res = @context.parent.find_symbol(symbol, method) if res res = res.viewer end res end
Given a sequence of source tokens, mark up the source code to make it look purty.
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 1056 def markup_code(tokens) src = "" tokens.each do |t| next unless t # p t.class # style = STYLE_MAP[t.class] style = case t when RubyToken::TkCONSTANT then "ruby-constant" when RubyToken::TkKW then "ruby-keyword kw" when RubyToken::TkIVAR then "ruby-ivar" when RubyToken::TkOp then "ruby-operator" when RubyToken::TkId then "ruby-identifier" when RubyToken::TkNode then "ruby-node" when RubyToken::TkCOMMENT then "ruby-comment cmt" when RubyToken::TkREGEXP then "ruby-regexp re" when RubyToken::TkSTRING then "ruby-value str" when RubyToken::TkVal then "ruby-value" else nil end text = CGI.escapeHTML(t.text) if style src << "<span class=\"#{style}\">#{text}</span>" else src << text end end add_line_numbers(src) src end
return a reference to outselves to be used as an href= the form depends on whether we’re all in one file or in multiple files
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 958 def name @context.name end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 999 def params # params coming from a call-seq in 'C' will start with the # method name p = @context.params if p !~ /^\w/ p = @context.params.gsub(/\s*\#.*/, '') p = p.tr("\n", " ").squeeze(" ") p = "(" + p + ")" unless p[0] == (( if (block = @context.block_params) # If this method has explicit block parameters, remove any # explicit &block p.sub!(/,?\s*&\w+/, '') block.gsub!(/\s*\#.*/, '') block = block.tr("\n", " ").squeeze(" ") if block[0] == (( block.sub!(/^\(/, '').sub!(/\)/, '') end p << " {|#{block.strip}| ...}" end end CGI.escapeHTML(p) end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 966 def parent_name if @context.parent.parent @context.parent.parent.full_name else nil end end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 974 def path @html_class.path end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 950 def scope @html_class.full_name end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 962 def section @context.section end
# File lib/generators/templates/application/merb_stack/doc/rdoc/generators/merb_generator.rb, line 942 def seq @m_seq end
Generated with the Darkfish Rdoc Generator 2.