Spec-Zone.ru › Ruby on Rails 7.2

класс ActiveStorage::Analyzer

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

Анализатор 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