class JsDuck::Tag::Param

Public Class Methods

new() click to toggle source
# File lib/jsduck/tag/param.rb, line 7
def initialize
  @pattern = "param"
  @tagname = :params
  @repeatable = true
  @html_position = POS_PARAM
end

Public Instance Methods

format(m, formatter) click to toggle source
# File lib/jsduck/tag/param.rb, line 37
def format(m, formatter)
  m[:params].each {|p| formatter.format_subproperty(p) }
end
parse_doc(p, pos) click to toggle source

@param {Type} [name=default] (optional) …

# File lib/jsduck/tag/param.rb, line 15
def parse_doc(p, pos)
  tag = p.standard_tag({
      :tagname => :params,
      :type => true,
      :name => true,
      :default => true,
      :optional => true
    })
  tag[:optional] = true if parse_optional(p)
  tag[:doc] = :multiline
  tag
end
parse_optional(p) click to toggle source
# File lib/jsduck/tag/param.rb, line 28
def parse_optional(p)
  p.hw.match(/\(optional\)/i)
end
process_doc(h, tags, pos) click to toggle source
# File lib/jsduck/tag/param.rb, line 32
def process_doc(h, tags, pos)
  h[:params] = JsDuck::Doc::Subproperties.nest(tags, pos)
  h[:params] = nil if h[:params].length == 0
end
to_html(m) click to toggle source
# File lib/jsduck/tag/param.rb, line 41
def to_html(m)
  JsDuck::Render::Subproperties.render_params(m[:params]) if m[:params].length > 0
end