Currently I am working on a ROR code which uses rails paperclip gem.
My requirement is, to process images as per its file extension.
Case 1: If image type is “svg”, then do not process original image(as ImageMagick breaks on resizing svg images). Upload original image, along with large, medium, grayscale, grayscale_small versions. However all files will be similar to original file, with different file names. Now I am able to upload only original.svg file. However other versions are not created correctly, and I did not find any solution so far.
Case 2: If it is not a “svg” image, then process image as per given style. This is working as expected.
Current code looks like:
has_mongoid_attached_file( :image, {
:styles => lambda { |img_url| img_url.instance.image_content_type != "image/svg+xml" ? {
:large => "x248",
:medium => "x64",
:grayscale => { :processors => [:grayscale], :size => "82x82" },
:grayscale_small => { :processors => [:grayscale], :size => "48x48" }
} :
{
:large => {write-a-code-to-upload-file-same-as-original-file-with-name-large},
:medium => {write-a-code-to-upload-file-same-as-original-file-with-name-medium}
:grayscale => {write-a-code-to-upload-file-same-as-original-file-with-name-grayscale}
:grayscale_small => {write-a-code-to-upload-file-same-as-original-file-with-name-grayscal_small}
}
}
}
Gem versions:
mongoid: 3.0.15paperclip: 2.3.11mongoid-paperclip: 0.0.8
Please let me know if you have worked on similar requirement. Any pointers will be highly appreciated.
$ bundle exec rails -v
Rails 3.1.3
$ ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin14.4.0]
Gem versions:mongoid: 3.0.15paperclip: 2.3.11mongoid-paperclip: 0.0.8
$ identify
Version: ImageMagick 6.9.1-10 Q16 x86_64 2016-02-29 http://www.imagemagick.org