Class: BulkImports::Projects::Pipelines::ProjectAttributesPipeline

Inherits:
Object
  • Object
show all
Includes:
BulkImports::Pipeline
Defined in:
lib/bulk_imports/projects/pipelines/project_attributes_pipeline.rb

Constant Summary

Constants included from BulkImports::Pipeline

BulkImports::Pipeline::CACHE_KEY_EXPIRATION, BulkImports::Pipeline::EMPTY_EXPORT_STATUS_TIMEOUT, BulkImports::Pipeline::ExpiredError, BulkImports::Pipeline::FailedError, BulkImports::Pipeline::NDJSON_EXPORT_TIMEOUT, BulkImports::Pipeline::NotAllowedError

Constants included from BulkImports::Pipeline::Runner

BulkImports::Pipeline::Runner::MarkedAsFailedError

Instance Method Summary collapse

Methods included from BulkImports::Pipeline

#current_user, #import_export_config, #initialize, #portable, #tracker

Methods included from BulkImports::Pipeline::Runner

#run

Instance Method Details

#after_run(_context) ⇒ Object



34
35
36
# File 'lib/bulk_imports/projects/pipelines/project_attributes_pipeline.rb', line 34

def after_run(_context)
  extractor.remove_tmpdir
end

#load(_context, data) ⇒ Object



27
28
29
30
31
32
# File 'lib/bulk_imports/projects/pipelines/project_attributes_pipeline.rb', line 27

def load(_context, data)
  portable.assign_attributes(data)
  portable.reconcile_shared_runners_setting!
  portable.drop_visibility_level!
  portable.save!
end

#transform(_context, data) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/bulk_imports/projects/pipelines/project_attributes_pipeline.rb', line 17

def transform(_context, data)
  subrelations = config.portable_relations_tree.keys.map(&:to_s)

  Gitlab::ImportExport::AttributeCleaner.clean(
    relation_hash: data,
    relation_class: Project,
    excluded_keys: config.relation_excluded_keys(:project)
  ).except(*subrelations)
end