Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/bulk_imports/failure.rb')
-rw-r--r--app/models/bulk_imports/failure.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/app/models/bulk_imports/failure.rb b/app/models/bulk_imports/failure.rb
index a6f7582c3b0..44d16618c77 100644
--- a/app/models/bulk_imports/failure.rb
+++ b/app/models/bulk_imports/failure.rb
@@ -10,4 +10,24 @@ class BulkImports::Failure < ApplicationRecord
optional: false
validates :entity, presence: true
+
+ def relation
+ pipeline_relation || default_relation
+ end
+
+ private
+
+ def pipeline_relation
+ klass = pipeline_class.constantize
+
+ return unless klass.ancestors.include?(BulkImports::Pipeline)
+
+ klass.relation
+ rescue NameError
+ nil
+ end
+
+ def default_relation
+ pipeline_class.demodulize.chomp('Pipeline').underscore
+ end
end