Active Storage Transformers Transformer
A Transformer applies a set of transformations to an image.
The following concrete subclasses are included in Active Storage:
-
ActiveStorage::Transformers::ImageProcessingTransformer: backed by ImageProcessing, a common interface for MiniMagick and ruby-vips
Methods
Attributes
| [R] | transformations |
Class Public methods
new(transformations)
📝 Source code
# File activestorage/lib/active_storage/transformers/transformer.rb, line 16
def initialize(transformations)
@transformations = transformations
end
🔎 See on GitHub
Instance Public methods
transform(file, format:)
Applies the transformations to the source image in file, producing a target image in the specified format. Yields an open Tempfile containing the target image. Closes and unlinks the output tempfile after yielding to the given block. Returns the result of the block.
📝 Source code
# 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
🔎 See on GitHub
Instance Private methods
process(file, format:)
Returns an open Tempfile containing a transformed image in the given format. All subclasses implement this method.
📝 Source code
# File activestorage/lib/active_storage/transformers/transformer.rb, line 36
def process(file, format:) # :doc:
raise NotImplementedError
end
🔎 See on GitHub