Class: Gitlab::Import::ImportFailureService
- Inherits:
-
Object
- Object
- Gitlab::Import::ImportFailureService
- Defined in:
- lib/gitlab/import/import_failure_service.rb
Class Method Summary collapse
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(exception:, import_state: nil, project_id: nil, error_source: nil, fail_import: false, metrics: false, external_identifiers: {}) ⇒ ImportFailureService
constructor
A new instance of ImportFailureService.
Constructor Details
#initialize(exception:, import_state: nil, project_id: nil, error_source: nil, fail_import: false, metrics: false, external_identifiers: {}) ⇒ ImportFailureService
Returns a new instance of ImportFailureService.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/gitlab/import/import_failure_service.rb', line 26 def initialize( exception:, import_state: nil, project_id: nil, error_source: nil, fail_import: false, metrics: false, external_identifiers: {} ) if import_state.blank? && project_id.blank? raise ArgumentError, 'import_state OR project_id must be provided' end if project_id.blank? @import_state = import_state @project = import_state.project else @project = Project.find(project_id) @import_state = @project.import_state end @exception = exception @error_source = error_source @fail_import = fail_import @metrics = metrics @external_identifiers = external_identifiers end |
Class Method Details
.track(exception:, import_state: nil, project_id: nil, error_source: nil, fail_import: false, metrics: false, external_identifiers: {}) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/gitlab/import/import_failure_service.rb', line 6 def self.track( exception:, import_state: nil, project_id: nil, error_source: nil, fail_import: false, metrics: false, external_identifiers: {} ) new( exception: exception, import_state: import_state, project_id: project_id, error_source: error_source, fail_import: fail_import, metrics: metrics, external_identifiers: external_identifiers ).execute end |
Instance Method Details
#execute ⇒ Object
55 56 57 58 59 60 61 |
# File 'lib/gitlab/import/import_failure_service.rb', line 55 def execute track_exception persist_failure.tap do import_state.mark_as_failed(exception.) if fail_import track_metrics if metrics end end |