class ActiveStorage::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
Attributes
transformations[R]
Public Class Methods
new(transformations)
click to toggle source
# File lib/active_storage/transformers/transformer.rb, line 13 def initialize(transformations) @transformations = transformations end
Public Instance Methods
transform(file, format:) { |output| ... }
click to toggle source
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.
# File lib/active_storage/transformers/transformer.rb, line 20 def transform(file, format:) output = process(file, format: format) begin yield output ensure output.close! end end
Private Instance Methods
process(file, format:)
click to toggle source
Returns an open Tempfile containing a transformed image in the given
format
. All subclasses implement this method.
# File lib/active_storage/transformers/transformer.rb, line 33 def process(file, format:) # :doc: raise NotImplementedError end