Retrospring/lib/paperclip_processors/cropper.rb

27 lines
772 B
Ruby

module Paperclip
class Cropper < Thumbnail
def transformation_command
if crop_command
x = super
i = x.index '-crop'
2.times { x.delete_at i } if i
crop_command + x
else
super
end
end
def crop_command
target = @attachment.instance
if target.cropping?
case @attachment.name
when :profile_picture
['-auto-orient', '-strip', '+repage', '-crop', "'#{target.crop_w.to_i}x#{target.crop_h.to_i}+#{target.crop_x.to_i}+#{target.crop_y.to_i}'"]
when :profile_header
['-auto-orient', '-strip', '+repage', '-crop', "'#{target.crop_h_w.to_i}x#{target.crop_h_h.to_i}+#{target.crop_h_x.to_i}+#{target.crop_h_y.to_i}'"]
end
end
end
end
end