A set of transformations that can be applied to a blob to create a variant. This class is exposed via the ActiveStorage::Blob#variant method and should rarely be used directly.

In case you do need to use this directly, it's instantiated using a hash of transformations where the key is the command and the value is the arguments. Example:

ActiveStorage::Variation.new(resize: "100x100", monochrome: true, trim: true, rotate: "-90")

You can also combine multiple transformations in one step, e.g. for center-weighted cropping:

ActiveStorage::Variation.new(combine_options: {
  resize: "100x100^",
  gravity: "center",
  crop: "100x100+0+0",
})

A list of all possible transformations is available at www.imagemagick.org/script/mogrify.php.

Namespace