Commit 941585d1 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Render "Overrides:" text inside new Tag::Overrides.

parent 5a31be6f
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -133,7 +133,6 @@ module JsDuck
          new[:overrides] << {
            :name => old[:name],
            :owner => old[:owner],
            :id => old[:id],
          }
        end
      end
+0 −5
Original line number Diff line number Diff line
@@ -224,11 +224,6 @@ module JsDuck

      doc << render_params_and_return(m)

      if m[:overrides]
        overrides = m[:overrides].map {|o| render_link(o[:owner], o) }.join(", ")
        doc << "<p>Overrides: #{overrides}</p>"
      end

      doc
    end

+29 −0
Original line number Diff line number Diff line
require "jsduck/tag/tag"

module JsDuck::Tag
  # There is no @overrides tag.  Though there is a separate @override
  # tag, this class here has little to do with it.
  #
  # This here covers the HTML rendering of :overrides field, which
  # gets added to members that override a member in their parent
  # class.
  class Overrides < Tag
    def initialize
      @key = :overrides
      @html_position = :bottom
    end

    # Generate HTML links from :overrides data.
    def format(m, formatter)
      m[:overrides].each do |o|
        label = o[:owner] + "." + o[:name]
        o[:link] = formatter.link(o[:owner], o[:name], label, m[:tagname], m[:static])
      end
    end

    def to_html(m)
      "<p>Overrides: " + m[:overrides].map {|o| o[:link] }.join(", ") + "</p>"
    end

  end
end
+4 −0
Original line number Diff line number Diff line
@@ -13,6 +13,10 @@ describe JsDuck::Aggregator do
    it "lists parent method in :override property" do
      @method[:overrides][0][:owner].should == "Parent"
    end

    it "lists name of the method in :override property" do
      @method[:overrides][0][:name].should == "foo"
    end
  end

  describe "method overriding parent class method" do