Gem Version

Designed to be local simulation of CDN's resize feature

How to use with Rails

group :development do
  gem "rack_resize", require: "rack_resize/rails_autoload"
end

How to use with Rack

use RackResize::RackApp, processor: :imlib2, assets_folder: "samples"
use Rack::Static, urls: [""], root: "samples", index: "index.html" # optional

URL Formats:

Cloudflare format: (can be used with helpers from carrierwave-cloudflare gem)

/cdn-cgi/image/width=426,format=auto/assets/pets/dog.jpg

Fastly and bunny.net: (tbd)

/assets/pets/dog.jpg?width=300

Configuration:

RackResize.configure do |config|
  config.assets_folder      = Rails.root.join('app', 'assets', 'images')
  config.processor          = :sips / :vips / :mini_magick / :imlib2
  config.default_quality    = 95
  config.save_resized       = false
  config.cache_folder       = Rails.root.join('tmp', 'rack_resize_cache') # used if save_resized enabled
  config.http_cache_max_age = 86400
end

Supported Processing Backends:

libaray dependency config
mini_magick
gem "image_processing"
gem  "mini_magick"

processor: :mini_magick

vips
gem "image_processing"
gem  "ruby-vips"

processor: :vips

sips (MacOS only) none

processor: :sips

imlib2
gem  "rszr"

processor: :imlib2