Skip to content

Simplify Image Processing Design

Goal

Remove obsolete RMagick/MiniMagick integration and collapse mandatory ImageMagick behavior into EasyExtensions::ImageProcessing.

Design

  • Preserve six public EasyExtensions::ImageProcessing methods and AdapterProcessException behavior.
  • Move current ImagemagickAdapter implementation into app/utils/easy_extensions/image_processing.rb without command or return-contract changes.
  • Delete both adapter modules, adapter selection, MissingAdapterException, and unreachable rescue branches.
  • Remove optional MiniMagick loading and admin availability reporting.
  • Keep existing locale entries to limit translation churn.

Verification

  • Focused RSpec coverage for geometry, conversion delegation, and command-error mapping.
  • Focused RuboCop for changed Ruby files.
  • Repository search proving removed constants have no remaining code references.