Sha256: 5ceac9dbaefbe9da56d769c8cb6424dafb060e609ec216b44b9d2513b6f84558

Contents?: true

Size: 1.43 KB

Versions: 10

Compression:

Stored size: 1.43 KB

Contents

class Image < Asset
  validate :no_attachement_errors
  has_attached_file :attachment,
                    :styles => { :mini => '48x48>', :small => '100x100>', :product => '240x240>', :large => '600x600>' },
                    :default_style => :product,
                    :url => "/spree/products/:id/:style/:basename.:extension",
                    :path => ":rails_root/public/spree/products/:id/:style/:basename.:extension"

  # 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

  #used by admin products autocomplete
  def mini_url
    attachment.url(:mini, false)
  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_attachement_errors
    unless attachment.errors.empty?
      # uncomment this to get rid of the less-than-useful interrim 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

10 entries across 10 versions & 1 rubygems

Version Path
spree_core-0.70.7 app/models/image.rb
spree_core-0.70.6 app/models/image.rb
spree_core-0.70.5 app/models/image.rb
spree_core-0.70.4 app/models/image.rb
spree_core-0.70.3 app/models/image.rb
spree_core-0.70.2 app/models/image.rb
spree_core-0.70.1 app/models/image.rb
spree_core-0.70.0 app/models/image.rb
spree_core-0.70.0.rc2 app/models/image.rb
spree_core-0.70.RC1 app/models/image.rb