diff --git a/app/uploaders/avatar_uploader.rb b/app/uploaders/avatar_uploader.rb new file mode 100644 index 0000000..9115885 --- /dev/null +++ b/app/uploaders/avatar_uploader.rb @@ -0,0 +1,70 @@ +# -*- encoding : utf-8 -*- + +class AvatarUploader < CarrierWave::Uploader::Base + + # Include RMagick or ImageScience support: + include CarrierWave::RMagick + # include CarrierWave::ImageScience + + # Choose what kind of storage to use for this uploader: + storage :file + # storage :s3 + + # 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 + "public_medias/#{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.png"].compact.join('_') + # end + + # Process files as they are uploaded: + process :resize_to_limit => [1200, 1200] + # + # def scale(width, height) + # # do something + # end + + + + + + + # Create different versions of your uploaded files: + version :large do + process :resize_to_limit => [800, 800] + + + version :thumb do + process :resize_to_limit => [300, 300] + + + + + end + + + + + + 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: + def filename + File.basename(original_filename, File.extname(original_filename)).to_s.to_slug + File.extname(original_filename).to_s if original_filename + + + end + +end