gitlab-org--gitlab-foss/app/uploaders/file_uploader.rb
Douwe Maan 218283b368 Merge branch 'extend_markdown_upload' into generic-uploads
# Conflicts:
#	app/controllers/files_controller.rb
#	app/controllers/projects/uploads_controller.rb
#	app/uploaders/attachment_uploader.rb
2015-02-20 15:37:37 +01:00

44 lines
904 B
Ruby

# encoding: utf-8
class FileUploader < CarrierWave::Uploader::Base
storage :file
attr_accessor :project, :secret
def initialize(project, secret = self.class.generate_secret)
@project = project
@secret = secret
end
def base_dir
"uploads"
end
def store_dir
File.join(base_dir, @project.path_with_namespace, @secret)
end
def cache_dir
File.join(base_dir, 'tmp', @project.path_with_namespace, @secret)
end
def self.generate_secret
SecureRandom.hex
end
def file_storage?
self.class.storage == CarrierWave::Storage::File
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
end