Class | Generators::HtmlClass |
In: |
lib/rdoc/generators/html_generator.rb
|
Parent: | ContextUser |
Wrap a ClassModule context
path | [R] |
# File lib/rdoc/generators/html_generator.rb, line 590 590: def initialize(context, html_file, prefix, options) 591: super(context, options) 592: 593: @html_file = html_file 594: @is_module = context.is_module? 595: @values = {} 596: 597: context.viewer = self 598: 599: if options.all_one_file 600: @path = context.full_name 601: else 602: @path = http_url(context.full_name, prefix) 603: end 604: 605: collect_methods 606: 607: AllReferences.add(name, self) 608: end
# File lib/rdoc/generators/html_generator.rb, line 756 756: def <=>(other) 757: self.name <=> other.name 758: end
# File lib/rdoc/generators/html_generator.rb, line 686 686: def build_attribute_list(section) 687: atts = @context.attributes.sort 688: res = [] 689: atts.each do |att| 690: next unless att.section == section 691: if att.visibility == :public || att.visibility == :protected || @options.show_all 692: entry = { 693: "name" => CGI.escapeHTML(att.name), 694: "rw" => att.rw, 695: "a_desc" => markup(att.comment, true) 696: } 697: unless att.visibility == :public || att.visibility == :protected 698: entry["rw"] << "-" 699: end 700: res << entry 701: end 702: end 703: res 704: end
# File lib/rdoc/generators/html_generator.rb, line 706 706: def class_attribute_values 707: h_name = CGI.escapeHTML(name) 708: 709: @values["classmod"] = @is_module ? "Module" : "Class" 710: @values["title"] = "#{@values['classmod']}: #{h_name}" 711: 712: c = @context 713: c = c.parent while c and !c.diagram 714: if c && c.diagram 715: @values["diagram"] = diagram_reference(c.diagram) 716: end 717: 718: @values["full_name"] = h_name 719: 720: parent_class = @context.superclass 721: 722: if parent_class 723: @values["parent"] = CGI.escapeHTML(parent_class) 724: 725: if parent_name 726: lookup = parent_name + "::" + parent_class 727: else 728: lookup = parent_class 729: end 730: 731: parent_url = AllReferences[lookup] || AllReferences[parent_class] 732: 733: if parent_url and parent_url.document_self 734: @values["par_url"] = aref_to(parent_url.path) 735: end 736: end 737: 738: files = [] 739: @context.in_files.each do |f| 740: res = {} 741: full_path = CGI.escapeHTML(f.file_absolute_name) 742: 743: res["full_path"] = full_path 744: res["full_path_url"] = aref_to(f.viewer.path) if f.document_self 745: 746: if @options.webcvs 747: res["cvsurl"] = cvs_url( @options.webcvs, full_path ) 748: end 749: 750: files << res 751: end 752: 753: @values['infiles'] = files 754: end
return the relative file name to store this class in, which is also its url
# File lib/rdoc/generators/html_generator.rb, line 612 612: def http_url(full_name, prefix) 613: path = full_name.dup 614: if path['<<'] 615: path.gsub!(/<<\s*(\w*)/) { "from-#$1" } 616: end 617: File.join(prefix, path.split("::")) + ".html" 618: end
# File lib/rdoc/generators/html_generator.rb, line 621 621: def name 622: @context.full_name 623: end
# File lib/rdoc/generators/html_generator.rb, line 625 625: def parent_name 626: @context.parent.full_name 627: end
# File lib/rdoc/generators/html_generator.rb, line 641 641: def value_hash 642: class_attribute_values 643: add_table_of_sections 644: 645: @values["charset"] = @options.charset 646: @values["style_url"] = style_url(path, @options.css) 647: 648: d = markup(@context.comment) 649: @values["description"] = d unless d.empty? 650: 651: ml = build_method_summary_list 652: @values["methods"] = ml unless ml.empty? 653: 654: il = build_include_list(@context) 655: @values["includes"] = il unless il.empty? 656: 657: @values["sections"] = @context.sections.map do |section| 658: 659: secdata = { 660: "sectitle" => section.title, 661: "secsequence" => section.sequence, 662: "seccomment" => markup(section.comment) 663: } 664: 665: al = build_alias_summary_list(section) 666: secdata["aliases"] = al unless al.empty? 667: 668: co = build_constants_summary_list(section) 669: secdata["constants"] = co unless co.empty? 670: 671: al = build_attribute_list(section) 672: secdata["attributes"] = al unless al.empty? 673: 674: cl = build_class_list(0, @context, section) 675: secdata["classlist"] = cl unless cl.empty? 676: 677: mdl = build_method_detail_list(section) 678: secdata["method_list"] = mdl unless mdl.empty? 679: 680: secdata 681: end 682: 683: @values 684: end