diff options
author | Jarka Kadlecova <jarka@gitlab.com> | 2017-05-01 15:14:35 +0200 |
---|---|---|
committer | Jarka Kadlecova <jarka@gitlab.com> | 2017-05-02 15:22:24 +0200 |
commit | 43ff7386411af0f538710f3627622f71e5e34472 (patch) | |
tree | 3bb4d32c1389504d70395f36e8e223899fcbccd5 /app/services/upload_service.rb | |
parent | 6277bda61c511696f9d12fae4238b5214a722571 (diff) | |
download | gitlab-ce-43ff7386411af0f538710f3627622f71e5e34472.tar.gz |
Support uploaders for personal snippets comments12910-uploader-pers-snippet
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 |