Class | Generators::HtmlClass
In: | rdoc/generators/html_generator.rb
Parent: | ContextUser

Wrap a ClassModule context

### Methods

<=> build_attribute_list class_attribute_values http_url index_name name new parent_name value_hash write_on

### Attributes

path | [R] |

### Public Class methods

new(context, html_file, prefix, options)

[Source]

    # File rdoc/generators/html_generator.rb, line 583
        def initialize(context, html_file, prefix, options)
          super(context, options)

          @html_file = html_file
          @is_module = context.is_module?
          @values    = {}

          context.viewer = self

          if options.all_one_file
            @path = context.full_name
          else
            @path = http_url(context.full_name, prefix)
          end

          collect_methods

          AllReferences.add(name, self)
        end

### Public Instance methods

<=>(other)

[Source]

    # File rdoc/generators/html_generator.rb, line 749
        def <=>(other)
          self.name <=> other.name
        end

build_attribute_list(section)

[Source]

    # File rdoc/generators/html_generator.rb, line 679
        def build_attribute_list(section)
          atts = @context.attributes.sort
          res = []
          atts.each do |att|
            next unless att.section == section
            if att.visibility == :public || att.visibility == :protected || @options.show_all
              entry = {
                "name"   => CGI.escapeHTML(att.name),
                "rw"     => att.rw,
                "a_desc" => markup(att.comment, true)
              }
              unless att.visibility == :public || att.visibility == :protected
                entry["rw"] << "-"
              end
              res << entry
            end
          end
          res
        end

class_attribute_values()

[Source]

    # File rdoc/generators/html_generator.rb, line 699
        def class_attribute_values
          h_name = CGI.escapeHTML(name)

          @values["classmod"]  = @is_module ? "Module" : "Class"
          @values["title"]     = "#{@values['classmod']}: #{h_name}"

          c = @context
          c = c.parent while c and !c.diagram
          if c && c.diagram
            @values["diagram"] = diagram_reference(c.diagram)
          end

          @values["full_name"] = h_name

          parent_class = @context.superclass

          if parent_class
            @values["parent"] = CGI.escapeHTML(parent_class)

            if parent_name
              lookup = parent_name + "::" + parent_class
            else
              lookup = parent_class
            end

            parent_url = AllReferences[lookup] || AllReferences[parent_class]

            if parent_url and parent_url.document_self
              @values["par_url"] = aref_to(parent_url.path)
            end
          end

          files = []
          @context.in_files.each do |f|
            res = {}
            full_path = CGI.escapeHTML(f.file_absolute_name)

            res["full_path"]     = full_path
            res["full_path_url"] = aref_to(f.viewer.path) if f.document_self

            if @options.webcvs
              res["cvsurl"] = cvs_url( @options.webcvs, full_path )
            end

            files << res
          end

          @values['infiles'] = files
        end

http_url(full_name, prefix)

return the relative file name to store this class in, which is also its url

[Source]

    # File rdoc/generators/html_generator.rb, line 605
        def http_url(full_name, prefix)
          path = full_name.dup
          if path['<<']
            path.gsub!(/<<\s*(\w*)/) { "from-#$1" }
          end
          File.join(prefix, path.split("::")) + ".html"
        end

index_name()

[Source]

    # File rdoc/generators/html_generator.rb, line 622
        def index_name
          name
        end

name()

[Source]

    # File rdoc/generators/html_generator.rb, line 614
        def name
          @context.full_name
        end

parent_name()

[Source]

    # File rdoc/generators/html_generator.rb, line 618
        def parent_name
          @context.parent.full_name
        end

value_hash()

[Source]

    # File rdoc/generators/html_generator.rb, line 634
        def value_hash
          class_attribute_values
          add_table_of_sections

          @values["charset"] = @options.charset
          @values["style_url"] = style_url(path, @options.css)

          d = markup(@context.comment)
          @values["description"] = d unless d.empty?

          ml = build_method_summary_list
          @values["methods"] = ml unless ml.empty?

          il = build_include_list(@context)
          @values["includes"] = il unless il.empty?

          @values["sections"] = @context.sections.map do |section|

            secdata = {
              "sectitle" => section.title,
              "secsequence" => section.sequence,
              "seccomment" => markup(section.comment)
            }

            al = build_alias_summary_list(section)
            secdata["aliases"] = al unless al.empty?

            co = build_constants_summary_list(section)
            secdata["constants"] = co unless co.empty?

            al = build_attribute_list(section)
            secdata["attributes"] = al unless al.empty?

            cl = build_class_list(0, @context, section)
            secdata["classlist"] = cl unless cl.empty?

            mdl = build_method_detail_list(section)
            secdata["method_list"] = mdl unless mdl.empty?

            secdata
          end

          @values
        end

write_on(f)

[Source]

    # File rdoc/generators/html_generator.rb, line 626
        def write_on(f)
          value_hash
          template = TemplatePage.new(RDoc::Page::BODY,
                                          RDoc::Page::CLASS_PAGE,
                                          RDoc::Page::METHOD_LIST)
          template.write_html_on(f, @values)
        end

[Validate]