6772312ea7
The primary license of the project is changing to: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later with some specific files to be licensed under the one of two licenses: CC0-1.0 LGPL-3.0-or-later This commit is one of the many steps to relicense the entire codebase. Documentation granting permission for this relicensing (from all past contributors who hold copyrights) is on file with Software Freedom Conservancy, Inc.
60 lines
1.6 KiB
Ruby
60 lines
1.6 KiB
Ruby
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
|
# encoding: utf-8
|
|
|
|
class ProfileUploader < CarrierWave::Uploader::Base
|
|
|
|
# Include RMagick or MiniMagick support:
|
|
# include CarrierWave::RMagick
|
|
include CarrierWave::MiniMagick
|
|
|
|
# Include the Sprockets helpers for Rails 3.1+ asset pipeline compatibility:
|
|
# include Sprockets::Helpers::RailsHelper
|
|
# include Sprockets::Helpers::IsolatedHelper
|
|
|
|
# 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
|
|
# For Rails 3.1+ asset pipeline compatibility:
|
|
return Image::DefaultProfileUrl
|
|
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 :normal do
|
|
process :resize_to_fill => [150, 150]
|
|
end
|
|
version :medium do
|
|
process :resize_to_fill => [100, 100]
|
|
end
|
|
version :tiny do
|
|
process :resize_to_fill => [50, 50]
|
|
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 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
|
|
|
|
def cache_dir
|
|
"#{Rails.root}/tmp/uploads"
|
|
end
|
|
|
|
end
|