Class/Module Index [+]

Quicksearch

ClsRuby::VectorOfTagsImplementation

Public Instance Methods

add_nested_tag( nested ) click to toggle source

Добавляет очередной вложенный тег к списку разобранных вложенных тегов.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 11
def add_nested_tag( nested )
  @nested_tags << nested
end
collect_values() { |tag| ... } => Array click to toggle source

Вспомогательный метод, который позволяет получить вектор значений из вложенных тегов.

block

блок кода, который получает очередной тег и извлекает из него значение. Извлеченное значение должно быть возвращаемым значением блока.

Примечание. Если для извлечения значения из вложенного тега требуется вызвать у тега метод без параметров, то можно воспользоваться так же методом collect_values_by.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 29
def collect_values( &block ) # :yields: tag
  @nested_tags.inject( [] ) do |r, t| r << block.call(t) end
end
collect_values_by( method ) => Array click to toggle source

Вспомогательный метод, который позволяет получить вектор значений из вложенных тегов.

method

имя метода, который нужно вызвать у вложенного тега для извлечения значения.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 42
def collect_values_by( method )
  collect_values do |t| t.send( method ) end
end
tag_add( child ) click to toggle source

Не поддерживается!

# File lib/cls-ruby/vector_of_tags_impl.rb, line 47
def tag_add( child )
  raise NotSupportedEx.new(
      "tag_add not supported by TagVectorOfTags (tag '#{tag_name}')" )
end
tag_defined?() click to toggle source

Возвращает true, если есть хотя бы один разобранный вложенный тег.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 66
def tag_defined?
  0 != @nested_tags.size
end
tag_format( formatter ) click to toggle source

Форматирование содержимого тега в выходной поток.

Делегирует вызов всем определенным на данный момент вложенным тегам.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 83
def tag_format( formatter )
  @nested_tags.each do |nested| nested.tag_format( formatter ) end
end
tag_on_finish() click to toggle source

Реакция на завершение парсинга тега во входном потоке.

Переадресует вызов текущему временному тегу. Если ошибок не возникло, то сохраняет временный тег в списке вложенных тегов.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 91
def tag_on_finish
  next_tag = @current; @current = nil

  next_tag.tag_on_finish
  @nested_tags << next_tag
end
tag_on_tag( tag ) click to toggle source

Реакция на завершение разбора дочернего тега во входном потоке.

Переадресует вызов текущему временному тегу.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 101
def tag_on_tag( tag )
  @current.tag_on_tag( tag )
end
tag_on_tok_nonspace( token ) click to toggle source

Реакция на токен :tok_nonspace.

Переадресует вызов текущему временному тегу.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 115
def tag_on_tok_nonspace( token )
  @current.tag_on_tok_nonspace( token )
end
tag_on_tok_space( token ) click to toggle source

Реакция на токен :tok_space.

Переадресует вызов текущему временному тегу.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 108
def tag_on_tok_space( token )
  @current.tag_on_tok_space( token )
end
tag_on_tok_string( token ) click to toggle source

Реакция на токен :tok_string.

Переадресует вызов текущему временному тегу.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 122
def tag_on_tok_string( token )
  @current.tag_on_tok_string( token )
end
tag_reset() click to toggle source

Сбросить содержимое тега.

Переводит тег в состояние, предшествующее парсингу.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 73
def tag_reset
  @nested_tags = []
  @current = nil
  super
end
tag_tags() click to toggle source

Получение списка дочерних тегов.

Возвращает значение только, если есть временный тег (при нормальном сценарии работы так и должно быть). В случае отсутствия временного тега порождается исключение NotSupportedEx.

# File lib/cls-ruby/vector_of_tags_impl.rb, line 57
def tag_tags
  raise NotSupportedEx.new(
      "tag_tags not supported for TagVectorOfTags " +
      "(tag '#{tag_name}')" ) unless @current

  @current.tag_tags
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.