Parent

Class/Module Index [+]

Quicksearch

YARD::Tags::DefaultFactory

Public Instance Methods

parse_tag(tag_name, text) click to toggle source

Parses tag text and creates a new tag with descriptive text

@param tag_name the name of the tag to parse @param [String] text the raw tag text @return [Tag] a tag object with the tag_name and text values filled

# File lib/yard/tags/default_factory.rb, line 12
def parse_tag(tag_name, text)
  Tag.new(tag_name, text.strip)
end
parse_tag_with_name(tag_name, text) click to toggle source

Parses tag text and creates a new tag with a key name and descriptive text

@param tag_name the name of the tag to parse @param [String] text the raw tag text @return [Tag] a tag object with the tag_name, name and text values filled

# File lib/yard/tags/default_factory.rb, line 21
def parse_tag_with_name(tag_name, text)
  name, text = *extract_name_from_text(text)
  Tag.new(tag_name, text, nil, name)
end
parse_tag_with_options(tag_name, text) click to toggle source
# File lib/yard/tags/default_factory.rb, line 86
def parse_tag_with_options(tag_name, text)
  name, text = *extract_name_from_text(text)
  OptionTag.new(tag_name, name, parse_tag_with_types_name_and_default(tag_name, text))
end
parse_tag_with_title_and_text(tag_name, text) click to toggle source
# File lib/yard/tags/default_factory.rb, line 68
def parse_tag_with_title_and_text(tag_name, text)
  title, desc = *extract_title_and_desc_from_text(text)
  Tag.new(tag_name, desc, nil, title)
end
parse_tag_with_types(tag_name, text) click to toggle source

Parses tag text and creates a new tag with formally declared types and descriptive text

@param tag_name the name of the tag to parse @param [String] text the raw tag text @return [Tag] a tag object with the tag_name, types and text values filled

# File lib/yard/tags/default_factory.rb, line 32
def parse_tag_with_types(tag_name, text)
  name, types, text = *extract_types_and_name_from_text(text)
  raise TagFormatError, "cannot specify a name before type list for '@#{tag_name}'" if name
  Tag.new(tag_name, text, types)
end
parse_tag_with_types_and_name(tag_name, text) click to toggle source

Parses tag text and creates a new tag with formally declared types, a key name and descriptive text

@param tag_name the name of the tag to parse @param [String] text the raw tag text @return [Tag] a tag object with the tag_name, name, types and text values filled

# File lib/yard/tags/default_factory.rb, line 44
def parse_tag_with_types_and_name(tag_name, text)
  name, types, text = *extract_types_and_name_from_text(text)
  name, text = *extract_name_from_text(text) unless name
  Tag.new(tag_name, text, types, name)
end
parse_tag_with_types_and_title(tag_name, text) click to toggle source

Parses tag text and creates a new tag with formally declared types, a title on the first line and descriptive text

@param tag_name the name of the tag to parse @param [String] text the raw tag text @return [Tag] a tag object with the tag_name, name, types and text values filled

# File lib/yard/tags/default_factory.rb, line 56
def parse_tag_with_types_and_title(tag_name, text)
  name, types, text = *extract_types_and_name_from_text_unstripped(text)
  if name
    title, desc = name, text
  else
    title, desc = *extract_title_and_desc_from_text(text)
  end
  Tag.new(tag_name, desc, types, title)
rescue TagFormatError
  Tag.new(tag_name, '', types, nil)
end
parse_tag_with_types_name_and_default(tag_name, text) click to toggle source
# File lib/yard/tags/default_factory.rb, line 73
def parse_tag_with_types_name_and_default(tag_name, text)
  # Can't allow () in a default tag, otherwise the grammar is too ambiguous when types is omitted.
  open, close = TYPELIST_OPENING_CHARS.gsub('(', ''), TYPELIST_CLOSING_CHARS.gsub(')', '')
  name, types, text = *extract_types_and_name_from_text(text, open, close)
  name, text = *extract_name_from_text(text) unless name
  if text =~ /\A\(/
    _, default, text = *extract_types_and_name_from_text(text, '(', ')')
    DefaultTag.new(tag_name, text, types, name, default)
  else
    DefaultTag.new(tag_name, text, types, name, nil)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.