Spec-Zone.ru › Ruby on Rails 6.0

класс Rails::SourceAnnotationExtractor::Annotation

Родитель:
Struct.new(:line, :tag, :text)

Публичные методы класса

directories() Показать исходный код
# File railties/lib/rails/source_annotation_extractor.rb, line 17
def self.directories
  @@directories ||= %w(app config db lib test)
end
extensions() Показать исходный код
# File railties/lib/rails/source_annotation_extractor.rb, line 37
def self.extensions
  @@extensions ||= {}
end
register_directories(*dirs) Показать исходный код
# File railties/lib/rails/source_annotation_extractor.rb, line 23
def self.register_directories(*dirs)
  directories.push(*dirs)
end

Регистрирует дополнительные директории для включения

Rails::SourceAnnotationExtractor::Annotation.register_directories("spec", "another")
register_extensions(*exts, &block) Показать исходный код
# File railties/lib/rails/source_annotation_extractor.rb, line 43
def self.register_extensions(*exts, &block)
  extensions[/\.(#{exts.join("|")})$/] = block
end

Регистрирует новые расширения аннотаций Файл

Rails::SourceAnnotationExtractor::Annotation.register_extensions("css", "scss", "sass", "less", "js") { |tag| /\/\/\s*(#{tag}):?\s*(.*)$/ }
register_tags(*additional_tags) Показать исходный код
# File railties/lib/rails/source_annotation_extractor.rb, line 33
def self.register_tags(*additional_tags)
  tags.push(*additional_tags)
end

Регистрирует дополнительные метки

Rails::SourceAnnotationExtractor::Annotation.register_tags("TESTME", "DEPRECATEME")
tags() Показать исходный код
# File railties/lib/rails/source_annotation_extractor.rb, line 27
def self.tags
  @@tags ||= %w(OPTIMIZE FIXME TODO)
end

Публичные методы экземпляра

to_s(options = {}) Показать исходный код
# File railties/lib/rails/source_annotation_extractor.rb, line 57
def to_s(options = {})
  s = +"[#{line.to_s.rjust(options[:indent])}] "
  s << "[#{tag}] " if options[:tag]
  s << text
end

Возвращает представление аннотации, которое выглядит так:

[126] [TODO] This algorithm is simple and clearly correct, make it faster.

Если у options есть флаг :tag, метка отображается, как в примере выше. В противном случае строка содержит только номер строки и текст.

© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API