# frozen_string_literal: true

#   Copyright (c) 2010-2011, Diaspora Inc.  This file is
#   licensed under the Affero General Public License version 3 or later.  See
#   the COPYRIGHT file.

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

  def store_dir
    "uploads/images"
  end

  def extension_allowlist
    %w[jpg jpeg png gif webp]
  end

  def filename
    model.random_string + File.extname(@filename) if @filename
  end

  version :thumb_small do
    process resize_to_fill: [50, 50, combine_options: {unsharp: "1.5x1+0.7+0.02"}]
  end
  version :thumb_medium do
    process resize_to_limit: [100, 100, combine_options: {unsharp: "1.5x1+0.7+0.02"}]
  end
  version :thumb_large do
    process resize_to_limit: [300, 1500]
  end
  version :scaled_full do
    process resize_to_limit: [700, nil]
  end
end
