gitlab-org--gitlab-foss/app/uploaders/attachment_uploader.rb

37 lines
849 B
Ruby
Raw Normal View History

2011-10-08 17:36:38 -04:00
# encoding: utf-8
class AttachmentUploader < CarrierWave::Uploader::Base
storage :file
after :store, :reset_events_cache
2011-10-08 17:36:38 -04:00
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)
2013-02-11 03:14:32 -05:00
if file.respond_to?(:extension)
img_ext.include?(file.extension.downcase)
2013-02-11 03:14:32 -05:00
else
# Not all CarrierWave storages respond to :extension
ext = file.path.split('.').last.downcase
2013-02-11 03:14:32 -05:00
img_ext.include?(ext)
end
rescue
false
end
2013-02-11 14:31:19 -05:00
def secure_url
Gitlab.config.gitlab.relative_url_root + "/files/#{model.class.to_s.underscore}/#{model.id}/#{file.filename}"
end
def file_storage?
self.class.storage == CarrierWave::Storage::File
2013-02-11 14:31:19 -05:00
end
def reset_events_cache(file)
model.reset_events_cache if model.is_a?(User)
end
2011-10-08 17:36:38 -04:00
end