Spec-Zone.ru › Ruby on Rails 7.0

класс ActiveStorage::Analyzer

Родитель:
Объект

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

Атрибуты

blob[R]

Общедоступные методы класса

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

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

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

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

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

Общедоступные методы экземпляра

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

Переопределите этот метод в конкретном подклассе. Возвратите Hash метаданных.

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

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

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

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

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

Spec-Zone.ru

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