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