Parent

Methods

Class/Module Index [+]

Quicksearch

YARD::Tags::Tag

Represents a metadata tag value (+@tag+). Tags can have any combination of {types}, {name} and {text}, or none of the above.

@example Programmatic tag creation

# The following docstring syntax:
#   @param [String, nil] arg an argument
#
# is equivalent to:
Tag.new(:param, 'an argument', ['String', 'nil'], 'arg')

Attributes

name[RW]

@return [String] a name associated with the tag

object[RW]

@return [CodeObjects::Base] the associated object

tag_name[RW]

@return [String] the name of the tag

text[RW]

@return [String] the tag text associated with the tag @return [nil] if no tag text is supplied

types[RW]

@return [Array<String>] a list of types associated with the tag @return [nil] if no types are associated with the tag

Public Class Methods

new(tag_name, text, types = nil, name = nil) click to toggle source

Creates a new tag object with a tag name and text. Optionally, formally declared types and a key name can be specified.

Types are mainly for meta tags that rely on type information, such as param, return, etc.

Key names are for tags that declare meta data for a specific key or name, such as param, raise, etc.

@param [to_s] tag_name the tag name to create the tag for @param [String] text the descriptive text for this tag @param [Array<String>] types optional type list of formally declared types

for the tag

@param [String] name optional key name which the tag refers to

# File lib/yard/tags/tag.rb, line 43
def initialize(tag_name, text, types = nil, name = nil)
  @tag_name, @text, @name, @types = tag_name.to_s, text, name, (types ? [types].flatten.compact : nil)
end

Public Instance Methods

type() click to toggle source

Convenience method to access the first type specified. This should mainly be used for tags that only specify one type.

@return [String] the first of the list of specified types @see types

# File lib/yard/tags/tag.rb, line 52
def type
  types.first
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.