Sha256: 4ea5d258981ff9aceab3f158862170ab5b6157107dad7c2e8fb92969f2c8dd93

Contents?: true

Size: 707 Bytes

Versions: 29

Compression:

Stored size: 707 Bytes

Contents

require "jsduck/tag/tag"

module JsDuck::Tag
  # Author tag gets processed, but no output gets created.  Users of
  # JSDuck may override this tag to make it print the names of
  # authors.
  class Author < Tag
    def initialize
      @pattern = "author"
      @tagname = :author
      @repeatable = true
    end

    # @author Name of Author <email@example.com> ...
    def parse_doc(p, pos)
      name = p.match(/[^<\n]*/).strip
      if p.look(/</)
        p.match(/</)
        email = p.match(/[^>\n]*/)
        p.match(/>/)
      end

      return {:tagname => @tagname, :name => name, :email => email}
    end

    def process_doc(context, tags, pos)
      context[@tagname] = tags
    end
  end
end

Version data entries

29 entries across 29 versions & 3 rubygems

Version Path
jsduck-5.3.0 lib/jsduck/tag/author.rb
jsduck-5.2.0 lib/jsduck/tag/author.rb
jsduck-5.1.0 lib/jsduck/tag/author.rb
jsduck-5.0.1 lib/jsduck/tag/author.rb
jsduck-5.0.0 lib/jsduck/tag/author.rb
jsduck-5.0.0.beta5 lib/jsduck/tag/author.rb
jsduck-5.0.0.beta4 lib/jsduck/tag/author.rb
jsduck-5.0.0.beta3 lib/jsduck/tag/author.rb
jsduck-5.0.0.beta2 lib/jsduck/tag/author.rb