Spec-Zone.ru › Ruby on Rails 8.1

class ActiveStorage::Analyzer

Родительский класс:
Object

Анализатор Active Storage

Это абстрактный базовый класс для анализаторов, которые извлекают метаданные из блобов. Пример конкретного подкласса см. в ActiveStorage::Analyzer::VideoAnalyzer.

Атрибуты

blob [R]

Открытые методы класса

accept? (blob) Показать исходный код
# File activestorage/lib/active_storage/analyzer.rb, line 13
def self.accept?(blob)
  false
end

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

analyze_later? () Показать исходный код
# File activestorage/lib/active_storage/analyzer.rb, line 19
def self.analyze_later?
  true
end

Реализуйте этот метод в конкретных подклассах. Он определяет, следует ли анализировать блоб в фоновой задаче или выполнить анализ непосредственно. По умолчанию анализ ставится в очередь фоновых задач.

new (blob) Показать исходный код
# File activestorage/lib/active_storage/analyzer.rb, line 23
def initialize(blob)
  @blob = blob
end

Открытые методы экземпляра

metadata () Показать исходный код
# File activestorage/lib/active_storage/analyzer.rb, line 28
def metadata
  raise NotImplementedError
end

Переопределите этот метод в конкретном подклассе. Он должен возвращать Hash с метаданными.

Закрытые методы экземпляра

download_blob_to_tempfile (&block) Показать исходный код
# File activestorage/lib/active_storage/analyzer.rb, line 34
def download_blob_to_tempfile(&block) # :doc:
  blob.open tmpdir: tmpdir, &block
end

Загружает блоб во временный файл на диске. Передаёт временный файл блоку.

instrument (analyzer, &block) Показать исходный код
# File activestorage/lib/active_storage/analyzer.rb, line 46
def instrument(analyzer, &block) # :doc:
  ActiveSupport::Notifications.instrument("analyze.active_storage", analyzer: analyzer, &block)
end
logger () Показать исходный код
# File activestorage/lib/active_storage/analyzer.rb, line 38
def logger # :doc:
  ActiveStorage.logger
end
tmpdir () Показать исходный код
# File activestorage/lib/active_storage/analyzer.rb, line 42
def tmpdir # :doc:
  Dir.tmpdir
end

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

Spec-Zone.ru

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