diff options
Diffstat (limited to 'app/uploaders/image_uploader.rb')
-rw-r--r-- | app/uploaders/image_uploader.rb | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/app/uploaders/image_uploader.rb b/app/uploaders/image_uploader.rb new file mode 100644 index 0000000..114ccc6 --- /dev/null +++ b/app/uploaders/image_uploader.rb @@ -0,0 +1,63 @@ +# encoding: utf-8 + +class ImageUploader < CarrierWave::Uploader::Base + + # Include RMagick or ImageScience support: + # include CarrierWave::RMagick + include CarrierWave::MiniMagick + # include CarrierWave::ImageScience + + # Choose what kind of storage to use for this uploader: + storage :file + # storage :fog + + # Override the directory where uploaded files will be stored. + # This is a sensible default for uploaders that are meant to be mounted: + def store_dir + "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" + end + + # Provide a default URL as a default if there hasn't been a file uploaded: + def default_url + "/images/fallback/" + [version_name, "default.jpg"].compact.join('_') + end + + # Process files as they are uploaded: + # process :scale => [200, 300] + # + # def scale(width, height) + # # do something + # end + + # Create different versions of your uploaded files: + version :mini do + process :resize_to_fill => [32, 32] + end + + version :small do + process :resize_to_fill => [72, 72] + end + + version :profile do + process :resize_to_fill => [200, 200] + end + + version :snom_caller_picture do + process :resize_to_fill => [100, 135] + end + + # Add a white list of extensions which are allowed to be uploaded. + # For images you might use something like this: + def extension_white_list + %w(jpg jpeg gif png) + end + + # Override the filename of the uploaded files: + # Avoid using model.id or version_name here, see uploader/store.rb for details. + # def filename + # "something.jpg" if original_filename + # end + + # TODO Secure filename + +end |