Sha256: 67616ce9b610481f9f337caca7ffff9709e4e530d4729bb4a1d3e0a01b0b542d
Contents?: true
Size: 1.88 KB
Versions: 16
Compression:
Stored size: 1.88 KB
Contents
# frozen_string_literal: true module Spree::Image::PaperclipAttachment extend ActiveSupport::Concern included do validate :no_attachment_errors has_attached_file :attachment, styles: { mini: '48x48>', small: '400x400>', product: '680x680>', large: '1200x1200>' }, default_style: :product, default_url: 'noimage/:style.png', url: '/spree/products/:id/:style/:basename.:extension', path: ':rails_root/public/spree/products/:id/:style/:basename.:extension', convert_options: { all: '-strip -auto-orient -colorspace sRGB' } validates_attachment :attachment, presence: true, content_type: { content_type: %w[image/jpeg image/jpg image/png image/gif] } # save the w,h of the original image (from which others can be calculated) # we need to look at the write-queue for images which have not been saved yet after_post_process :find_dimensions, if: :valid? end def url(size) attachment.url(size) end def filename attachment_file_name end def attachment_present? attachment.present? end def find_dimensions temporary = attachment.queued_for_write[:original] filename = temporary.path unless temporary.nil? filename = attachment.path if filename.blank? geometry = Paperclip::Geometry.from_file(filename) self.attachment_width = geometry.width self.attachment_height = geometry.height end # if there are errors from the plugin, then add a more meaningful message def no_attachment_errors unless attachment.errors.empty? # uncomment this to get rid of the less-than-useful interim messages # errors.clear errors.add :attachment, "Paperclip returned errors for file '#{attachment_file_name}' - check ImageMagick installation or image source file." false end end end
Version data entries
16 entries across 16 versions & 1 rubygems