класс ActiveStorage::Transformers::Transformer
Трансформер Active Storage
Transformer применяет к изображению набор преобразований.
В Active Storage включены следующие конкретные подклассы:
-
ActiveStorage::Transformers::ImageProcessingTransformer: основан на ImageProcessing — общем интерфейсе для MiniMagick и ruby-vips
Атрибуты
Открытые методы класса
# File activestorage/lib/active_storage/transformers/transformer.rb, line 16 def initialize(transformations) @transformations = transformations end
Открытые методы экземпляра
# File activestorage/lib/active_storage/transformers/transformer.rb, line 23
def transform(file, format:)
output = process(file, format: format)
begin
yield output
ensure
output.close!
end
end Применяет преобразования к исходному изображению в file и создает целевое изображение в указанном format. Передает блоку открытый Tempfile, содержащий целевое изображение. После передачи управления заданному блоку закрывает выходной временный файл и удаляет его. Возвращает результат выполнения блока.
Закрытые методы экземпляра
# File activestorage/lib/active_storage/transformers/transformer.rb, line 36 def process(file, format:) # :doc: raise NotImplementedError end
Возвращает открытый Tempfile, содержащий преобразованное изображение в заданном format. Все подклассы реализуют этот метод.
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.