Как передать параметры в MiniMagick при использовании процесса Carrierwave? - PullRequest
0 голосов
/ 09 июля 2020

У меня есть такой загрузчик:

class PhotoUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  storage :file

  version :titers_112x108 do
    process resize_to_fill: [112, 108, 'North']
  end
end

Проблема в том, что я хочу передать параметр quality при изменении размера изображения, чтобы мое изображение PNG не теряло качества в

Этот параметр доступен для ImageMagick mogrify, который используется в MiniMagick под капотом, и предлагается для использования Carrierwave как отдельный процесс.

Посмотрев на код из CarrierWave::MiniMagick.resize_to_fill, мы видим, что мы можем передавать параметры в качестве последнего аргумента метода, поэтому я попытался сделать это:

process resize_to_fill: [112, 108, 'North', { quality: '0' }]

но он не работает с

ArgumentError: unknown keyword: quality 
  from .../gems/carrierwave-1.3.1/lib/carrierwave/processing/mini_magick.rb:191:in `resize_to_fill'

Я использую версию Carrierwave 1.x.

...