class JsDuck::Tag::Fires
Public Class Methods
new()
click to toggle source
# File lib/jsduck/tag/fires.rb, line 6 def initialize @pattern = "fires" @tagname = :fires @repeatable = true @html_position = POS_FIRES end
Public Instance Methods
format(m, formatter)
click to toggle source
# File lib/jsduck/tag/fires.rb, line 31 def format(m, formatter) cls = formatter.relations[m[:owner]] m[:fires] = m[:fires].map do |name| if cls.find_members({:tagname => :event, :name => name}).length > 0 formatter.link(m[:owner], name, name, :event) else JsDuck::Logger.warn(:fires, "@fires references unknown event: #{name}", m[:files][0]) name end end end
ident_list(p)
click to toggle source
matches <ident> <ident> … until line end
# File lib/jsduck/tag/fires.rb, line 19 def ident_list(p) list = [] while ident = p.hw.ident list << ident end list end
parse_doc(p, pos)
click to toggle source
@fires eventname
# File lib/jsduck/tag/fires.rb, line 14 def parse_doc(p, pos) {:tagname => :fires, :events => ident_list(p)} end
process_doc(h, tags, pos)
click to toggle source
# File lib/jsduck/tag/fires.rb, line 27 def process_doc(h, tags, pos) h[:fires] = tags.map {|t| t[:events] }.flatten end
to_html(m)
click to toggle source
# File lib/jsduck/tag/fires.rb, line 44 def to_html(m) return unless m[:fires] && m[:fires].length > 0 return [ "<h3 class='pa'>Fires</h3>", "<ul>", m[:fires].map {|e| "<li>#{e}</li>" }, "</ul>", ] end