Skip to content
This repository has been archived by the owner on Aug 23, 2022. It is now read-only.
/ spree-dragonfly Public archive

This Spree extension aims at replacing paperclip with dragonfly

License

Notifications You must be signed in to change notification settings

zweitag/spree-dragonfly

Repository files navigation

Spree Dragonfly Extension

Exchange paperclip with dragonfly for image processing in Spree.

Please note

This extension is not maintained anymore

Installation

Add the spree_dragonfly gem to your bundler Gemfile:

gem 'spree_dragonfly'

From your spree rails root path:

rails generate spree_dragonfly:install

Customize the dragonfly initializer in config/initializers/dragonfly.rb if necessary.

Include this code in your application.rb:

config.middleware.insert 0, 'Rack::Cache', {
	:verbose     => true,
	:metastore   => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/meta"),
	:entitystore => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/body")
}
config.middleware.insert_after 'Rack::Cache', 'Dragonfly::Middleware', :images

Usage

If you want to keep using the default image sizes as defined in the Spree config, you can use:

image.attachment.mini.url
image.attachment.small.url
image.attachment.product.url
image.attachment.large.url

If you want to use custom thumbnail sizes in your views as custom in dragonfly, you can use any valid dragonfly image processing method. For example:

image.attachment.process(:greyscale).process(:thumb, '40x20#').encode(:gif).url

To apply your own thumbnail sizes to existing views in spree, use deface overrides or override the whole template view file or partial. Example deface override:

Deface::Override.new(:virtual_path => "spree/products/_image",
                 	 :name => "products_image",
                     :replace => "code[erb-loud]:contains('image_tag image.attachment.product.url, :itemprop => \"description\"')",
                     :text => "<%= image_tag image.attachment.process(:thumb, '400x400>').url, :itemprop => \"description\"') %>")

To implement image attachment validations, create a image_decorator.rb file in app/models of your spree rails app:

Spree::Image.class_eval do
	validates_size_of :attachment, maximum: 500.kilobytes
	# add more...
end

Copyright (c) 2012 Zweitag GmbH, released under the New BSD License

About

This Spree extension aims at replacing paperclip with dragonfly

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published