diff options
Diffstat (limited to 'app/models/bulk_imports/failure.rb')
-rw-r--r-- | app/models/bulk_imports/failure.rb | 20 |
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 |