Class: BulkImports::Projects::Pipelines::ReferencesPipeline
- Inherits:
-
Object
- Object
- BulkImports::Projects::Pipelines::ReferencesPipeline
- Includes:
- BulkImports::Pipeline
- Defined in:
- lib/bulk_imports/projects/pipelines/references_pipeline.rb
Constant Summary collapse
- BATCH_SIZE =
100
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
Instance Method Details
#extract(_context) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/bulk_imports/projects/pipelines/references_pipeline.rb', line 11 def extract(_context) data = Enumerator.new do |enum| add_matching_objects(portable.issues, enum) add_matching_objects(portable.merge_requests, enum) add_notes(portable.issues, enum) add_notes(portable.merge_requests, enum) end BulkImports::Pipeline::ExtractedData.new(data: data) end |
#load(_context, object) ⇒ Object
36 37 38 |
# File 'lib/bulk_imports/projects/pipelines/references_pipeline.rb', line 36 def load(_context, object) object.save! if object_body_changed?(object) end |
#transform(_context, object) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/bulk_imports/projects/pipelines/references_pipeline.rb', line 22 def transform(_context, object) body = object_body(object).dup body.gsub!(username_regex(mapped_usernames), mapped_usernames) matching_urls(object).each do |old_url, new_url| body.gsub!(old_url, new_url) if body.include?(old_url) end object.assign_attributes(body_field(object) => body) object end |