diff options
author | Micaël Bergeron <mbergeron@gitlab.com> | 2018-03-30 15:52:37 +0300 |
---|---|---|
committer | Micaël Bergeron <mbergeron@gitlab.com> | 2018-04-02 15:19:34 +0300 |
commit | 8fe5bcde569e9e5f45e397005a915142d20d319d (patch) | |
tree | b985cee00aa1c756f3dc1869e460893902db9133 | |
parent | f3de480997c68a2b360c5a5f6cff8332d25a33a4 (diff) |
apply feedback
-rw-r--r-- | app/workers/object_storage/migrate_uploads_worker.rb | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/app/workers/object_storage/migrate_uploads_worker.rb b/app/workers/object_storage/migrate_uploads_worker.rb index 826618aebdb..a6b2c251254 100644 --- a/app/workers/object_storage/migrate_uploads_worker.rb +++ b/app/workers/object_storage/migrate_uploads_worker.rb @@ -159,7 +159,11 @@ module ObjectStorage raise(SanityCheckError, "Mount point #{mounted_as} not found in #{model_class}.") unless model_has_mount end - def perform(ids, model_type, mounted_as, to_store) + def perform(*args) + args_check!(args) + + (ids, model_type, mounted_as, to_store) = args + @model_class = model_type.constantize @mounted_as = mounted_as&.to_sym @to_store = to_store @@ -179,6 +183,16 @@ module ObjectStorage self.class.sanity_check!(uploads, @model_class, @mounted_as) end + def args_check!(args) + return if args.count == 4 + + case args.count + when 3 then raise SanityCheckError, "Job is missing the `model_type` argument." + else + raise SanityCheckError, "Job has wrong arguments format." + end + end + def build_uploaders(uploads) uploads.map { |upload| upload.build_uploader(@mounted_as) } end |