diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-02-20 15:19:50 +0100 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-02-20 15:19:50 +0100 |
commit | 4ef6ffaad3e9b7a29b438722e5e101de78521ec7 (patch) | |
tree | 1441e030e91429d27eaa9e6addb3ee3952f5d22a /app/uploaders/avatar_uploader.rb | |
parent | c801df81fb48272b670b7448e3898a98cdb8b742 (diff) | |
download | gitlab-ce-4ef6ffaad3e9b7a29b438722e5e101de78521ec7.tar.gz |
Split up AttachmentUploader.
Diffstat (limited to 'app/uploaders/avatar_uploader.rb')
-rw-r--r-- | app/uploaders/avatar_uploader.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/uploaders/avatar_uploader.rb b/app/uploaders/avatar_uploader.rb new file mode 100644 index 00000000000..7cad044555b --- /dev/null +++ b/app/uploaders/avatar_uploader.rb @@ -0,0 +1,32 @@ +# encoding: utf-8 + +class AvatarUploader < CarrierWave::Uploader::Base + storage :file + + after :store, :reset_events_cache + + def store_dir + "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" + end + + def image? + img_ext = %w(png jpg jpeg gif bmp tiff) + if file.respond_to?(:extension) + img_ext.include?(file.extension.downcase) + else + # Not all CarrierWave storages respond to :extension + ext = file.path.split('.').last.downcase + img_ext.include?(ext) + end + rescue + false + end + + def file_storage? + self.class.storage == CarrierWave::Storage::File + end + + def reset_events_cache(file) + model.reset_events_cache if model.is_a?(User) + end +end |