class 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
@return [String] a name associated with the tag @return [nil] if no tag name is supplied
@return [CodeObjects::Base] the associated object
@return [String] the name of the tag
@return [String] the tag text associated with the tag @return [nil] if no tag text is supplied
@return [Array<String>] a list of types associated with the tag @return [nil] if no types are associated with the tag
Public Class Methods
Source
# File lib/yard/tags/tag.rb, line 45 def initialize(tag_name, text, types = nil, name = nil) @tag_name = tag_name.to_s @text = text @name = name @types = (types ? [types].flatten.compact : nil) end
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
Public Instance Methods
Source
# File lib/yard/tags/tag.rb, line 66 def explain_types return nil if !types || types.empty? TypesExplainer.explain(*types) end
Provides a plain English summary of the type specification, or nil if no types are provided or parsable.
@return [String] a plain English description of the associated types @return [nil] if no types are provided or not parsable