blob: 8a6077b523c934a24439bc009dc243408139bac0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# frozen_string_literal: true
class BulkImports::Failure < ApplicationRecord
self.table_name = 'bulk_import_failures'
belongs_to :entity,
class_name: 'BulkImports::Entity',
foreign_key: :bulk_import_entity_id,
inverse_of: :failures,
optional: false
validates :entity, presence: true
def relation
pipeline_relation || default_relation
end
def exception_message=(message)
super(::Projects::ImportErrorFilter.filter_message(message).truncate(255))
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
|