Sha256: da89e7732d629e8fe1d590bf1585b3293b0f16d56aa63cb9484f917f56884899

Contents?: true

Size: 824 Bytes

Versions: 29

Compression:

Stored size: 824 Bytes

Contents

require "jsduck/tag/tag"
require "jsduck/render/subproperties"

module JsDuck::Tag
  class Throws < Tag
    def initialize
      @pattern = "throws"
      @tagname = :throws
      @repeatable = true
      @html_position = POS_THROWS
    end

    # @throws {Type} ...
    def parse_doc(p, pos)
      tag = p.standard_tag({:tagname => :throws, :type => true})
      tag[:doc] = :multiline
      tag
    end

    def process_doc(h, tags, pos)
      result = tags.map do |throws|
        {
          :type => throws[:type] || "Object",
          :doc => throws[:doc] || "",
        }
      end

      h[:throws] = result
    end

    def format(m, formatter)
      m[:throws].each {|t| formatter.format_subproperty(t) }
    end

    def to_html(m)
      JsDuck::Render::Subproperties.render_throws(m[:throws])
    end
  end
end

Version data entries

29 entries across 29 versions & 3 rubygems

Version Path
solvas-jsduck-6.0.0.30539 lib/jsduck/tag/throws.rb
solvas-jsduck-6.0.0.9571 lib/jsduck/tag/throws.rb
solvas-jsduck-6.0.0.6154 lib/jsduck/tag/throws.rb
solvas-jsduck-6.0.0.4021 lib/jsduck/tag/throws.rb
solvas-jsduck-6.0.0.2554 lib/jsduck/tag/throws.rb
solvas-jsduck-6.0.0.1891 lib/jsduck/tag/throws.rb
solvas-jsduck-6.0.0.beta.1888 lib/jsduck/tag/throws.rb
jsduck-troopjs-0.0.10 lib/jsduck/tag/throws.rb
jsduck-troopjs-0.0.9 lib/jsduck/tag/throws.rb
jsduck-troopjs-0.0.8 lib/jsduck/tag/throws.rb
jsduck-troopjs-0.0.7 lib/jsduck/tag/throws.rb
jsduck-troopjs-0.0.5 lib/jsduck/tag/throws.rb
jsduck-troopjs-0.0.4 lib/jsduck/tag/throws.rb
jsduck-troopjs-0.0.3 lib/jsduck/tag/throws.rb
jsduck-troopjs-0.0.1 lib/jsduck/tag/throws.rb
jsduck-6.0.0beta lib/jsduck/tag/throws.rb
jsduck-5.3.4 lib/jsduck/tag/throws.rb
jsduck-5.3.3 lib/jsduck/tag/throws.rb
jsduck-5.3.2 lib/jsduck/tag/throws.rb
jsduck-5.3.1 lib/jsduck/tag/throws.rb