diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-05-04 10:47:10 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2017-05-04 10:47:10 +0000 |
commit | ba608dc0f2c2377f7ca2095a8bc4e5d44921b67f (patch) | |
tree | a5540d9278c738f216f2bdc2f4a290c2a5e75cf7 /app/services/upload_service.rb | |
parent | ef71bf6278759aafb1a480916cfafb9c9650eddc (diff) | |
parent | 43ff7386411af0f538710f3627622f71e5e34472 (diff) | |
download | gitlab-ce-ba608dc0f2c2377f7ca2095a8bc4e5d44921b67f.tar.gz |
Merge branch '12910-uploader-pers-snippet' into 'master'
Prepare uploaders for personal snippets comments
See merge request !11022
Diffstat (limited to 'app/services/upload_service.rb')
-rw-r--r-- | app/services/upload_service.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/services/upload_service.rb b/app/services/upload_service.rb new file mode 100644 index 00000000000..6c5b2baff41 --- /dev/null +++ b/app/services/upload_service.rb @@ -0,0 +1,20 @@ +class UploadService + def initialize(model, file, uploader_class = FileUploader) + @model, @file, @uploader_class = model, file, uploader_class + end + + def execute + return nil unless @file && @file.size <= max_attachment_size + + uploader = @uploader_class.new(@model) + uploader.store!(@file) + + uploader.to_h + end + + private + + def max_attachment_size + current_application_settings.max_attachment_size.megabytes.to_i + end +end |