Class | Generators::HtmlClass |
In: |
generators/html_generator.rb
|
Parent: | ContextUser |
Wrap a ClassModule context
path | [R] |
# File generators/html_generator.rb, line 632 632: def initialize(context, html_file, prefix, options) 633: super(context, options) 634: 635: @html_file = html_file 636: @is_module = context.is_module? 637: @values = {} 638: 639: context.viewer = self 640: 641: if options.all_one_file 642: @path = context.full_name 643: else 644: @path = http_url(context.full_name, prefix) 645: end 646: 647: collect_methods 648: 649: AllReferences.add(name, self) 650: end
# File generators/html_generator.rb, line 798 798: def <=>(other) 799: self.name <=> other.name 800: end
# File generators/html_generator.rb, line 728 728: def build_attribute_list(section) 729: atts = @context.attributes.sort 730: res = [] 731: atts.each do |att| 732: next unless att.section == section 733: if att.visibility == :public || att.visibility == :protected || @options.show_all 734: entry = { 735: "name" => CGI.escapeHTML(att.name), 736: "rw" => att.rw, 737: "a_desc" => markup(att.comment, true) 738: } 739: unless att.visibility == :public || att.visibility == :protected 740: entry["rw"] << "-" 741: end 742: res << entry 743: end 744: end 745: res 746: end
# File generators/html_generator.rb, line 748 748: def class_attribute_values 749: h_name = CGI.escapeHTML(name) 750: 751: @values["classmod"] = @is_module ? "Module" : "Class" 752: @values["title"] = "#{@values['classmod']}: #{h_name}" 753: 754: c = @context 755: c = c.parent while c and !c.diagram 756: if c && c.diagram 757: @values["diagram"] = diagram_reference(c.diagram) 758: end 759: 760: @values["full_name"] = h_name 761: 762: parent_class = @context.superclass 763: 764: if parent_class 765: @values["parent"] = CGI.escapeHTML(parent_class) 766: 767: if parent_name 768: lookup = parent_name + "::" + parent_class 769: else 770: lookup = parent_class 771: end 772: 773: parent_url = AllReferences[lookup] || AllReferences[parent_class] 774: 775: if parent_url and parent_url.document_self 776: @values["par_url"] = aref_to(parent_url.path) 777: end 778: end 779: 780: files = [] 781: @context.in_files.each do |f| 782: res = {} 783: full_path = CGI.escapeHTML(f.file_absolute_name) 784: 785: res["full_path"] = full_path 786: res["full_path_url"] = aref_to(f.viewer.path) if f.document_self 787: 788: if @options.webcvs 789: res["cvsurl"] = cvs_url( @options.webcvs, full_path ) 790: end 791: 792: files << res 793: end 794: 795: @values['infiles'] = files 796: end
return the relative file name to store this class in, which is also its url
# File generators/html_generator.rb, line 654 654: def http_url(full_name, prefix) 655: path = full_name.dup 656: if path['<<'] 657: path.gsub!(/<<\s*(\w*)/) { "from-#$1" } 658: end 659: File.join(prefix, path.split("::")) + ".html" 660: end
# File generators/html_generator.rb, line 667 667: def parent_name 668: @context.parent.full_name 669: end
# File generators/html_generator.rb, line 683 683: def value_hash 684: class_attribute_values 685: add_table_of_sections 686: 687: @values["charset"] = @options.charset 688: @values["style_url"] = style_url(path, @options.css) 689: 690: d = markup(@context.comment) 691: @values["description"] = d unless d.empty? 692: 693: ml = build_method_summary_list 694: @values["methods"] = ml unless ml.empty? 695: 696: il = build_include_list(@context) 697: @values["includes"] = il unless il.empty? 698: 699: @values["sections"] = @context.sections.map do |section| 700: 701: secdata = { 702: "sectitle" => section.title, 703: "secsequence" => section.sequence, 704: "seccomment" => markup(section.comment) 705: } 706: 707: al = build_alias_summary_list(section) 708: secdata["aliases"] = al unless al.empty? 709: 710: co = build_constants_summary_list(section) 711: secdata["constants"] = co unless co.empty? 712: 713: al = build_attribute_list(section) 714: secdata["attributes"] = al unless al.empty? 715: 716: cl = build_class_list(0, @context, section) 717: secdata["classlist"] = cl unless cl.empty? 718: 719: mdl = build_method_detail_list(section) 720: secdata["method_list"] = mdl unless mdl.empty? 721: 722: secdata 723: end 724: 725: @values 726: end