Handles the mapping of a file's information to HTML. In reality, a file
corresponds to a TopLevel
object, containing modules, classes,
and top-level methods. In theory it could contain attributes and
aliases, but we ignore these for now.
# File rdoc/generators/html_generator.rb, line 774 def initialize(context, options, file_dir) super(context, options) @values = {} if options.all_one_file @path = filename_to_label else @path = http_url(file_dir) end @name = @context.file_relative_name collect_methods AllReferences.add(name, self) context.viewer = self end
# File rdoc/generators/html_generator.rb, line 891 def <=>(other) self.name <=> other.name end
# File rdoc/generators/html_generator.rb, line 872 def file_attribute_values full_path = @context.file_absolute_name short_name = File.basename(full_path) @values["title"] = CGI.escapeHTML("File: #{short_name}") if @context.diagram @values["diagram"] = diagram_reference(@context.diagram) end @values["short_name"] = CGI.escapeHTML(short_name) @values["full_path"] = CGI.escapeHTML(full_path) @values["dtm_modified"] = @context.file_stat.mtime.to_s if @options.webcvs @values["cvsurl"] = cvs_url( @options.webcvs, @values["full_path"] ) end end
# File rdoc/generators/html_generator.rb, line 797 def filename_to_label @context.file_relative_name.gsub(/%|\/|\?|\#/) {|s| '%' + ("%x" % s[0]) } end
# File rdoc/generators/html_generator.rb, line 792 def http_url(file_dir) File.join(file_dir, @context.file_relative_name.tr('.', '_')) + ".html" end
# File rdoc/generators/html_generator.rb, line 801 def index_name name end
# File rdoc/generators/html_generator.rb, line 805 def parent_name nil end
# File rdoc/generators/html_generator.rb, line 809 def value_hash file_attribute_values add_table_of_sections @values["charset"] = @options.charset @values["href"] = path @values["style_url"] = style_url(path, @options.css) if @context.comment d = markup(@context.comment) @values["description"] = d if d.size > 0 end ml = build_method_summary_list @values["methods"] = ml unless ml.empty? il = build_include_list(@context) @values["includes"] = il unless il.empty? rl = build_requires_list(@context) @values["requires"] = rl unless rl.empty? if @options.promiscuous file_context = nil else file_context = @context end @values["sections"] = @context.sections.map do |section| secdata = { "sectitle" => section.title, "secsequence" => section.sequence, "seccomment" => markup(section.comment) } cl = build_class_list(0, @context, section, file_context) @values["classlist"] = cl unless cl.empty? mdl = build_method_detail_list(section) secdata["method_list"] = mdl unless mdl.empty? al = build_alias_summary_list(section) secdata["aliases"] = al unless al.empty? co = build_constants_summary_list(section) @values["constants"] = co unless co.empty? secdata end @values end