Delegate MiniMagick processing to ImageProcessing gem #2298
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
ImageProcessing gem is a wrapper gem around MiniMagick and libvips, which implements common resizing macros. Instead of the CarrierWave project having to maintain those macros, it can use the ImageProcessing to do the heavy lifting for us. The ImageProcessing gem will constantly get updated with best practices, so any bug fixes and performance improvements there will automatically benefit CarrierWave.
Some improvements that ImageProcessing gem adds on top of MiniMagick is automatic orientation and thumbnail sharpening. I just published a blog post about ImageProcessing.
This PR still maintains backwards compatibility by leaving the
#manipulate!
method around, and yielding theMiniMagick::Image
object in processing methods (even though that should be considered deprecated). But it's recommended to use#minimagick!
, as it exposes the much more flexibleImageProcessing::Builder
object.The ImageProcessing gem automatically pulls in
mini_magick
as a dependency, so this step can now be removed from the user setup.Should fix #2157
Fixes #2062