Imagery
Simple image resizing module.
Prerequisites
You should have graphicsmagick first:
# on debian based systems
$ sudo apt-get install graphicsmagick
# or maybe using homebrew
$ brew install graphicsmagick
Installing
$ gem install imagery
Usage
require 'imagery'
# - 48x48^ is the geometry string. This means we're resizing
# to a 48x48^ constrained image
# - 48x48 (second one) means we're cropping the image to an
# extent of 48x48 pixels.
i = Imagery.new(:photo, "1001", thumb: ["48x48^", "48x48"])
i.save(File.open('/some/path/to/image.jpg'))
File.exist?('public/photo/1001/thumb.jpg')
# => true
File.exist?('public/photo/1001/original.jpg')
# => true
Advanced Usage (S3)
For cases where we want to use S3 for some and normal filesystem for others.
class S3Photo < Imagery
include Imagery::S3
s3_bucket "my-bucket"
end
# then maybe some other files are using cloudfront
class CloudfrontPhoto < Imagery
include Imagery::S3
s3_bucket "my-bucket"
s3_distribution_domain "assets.site.com"
end
# some might be using S3 EU, in which case you can specify the s3_host
class CustomS3Host < Imagery::Model
include Imagery::S3
s3_host "http://my.custom.host"
s3_bucket "my-bucket-name"
end
Extending
You can check Imagery::S3
to see an example of an extension.
Copyright
Copyright (c) 2010 Cyril David. See LICENSE for details.