Module: Import::PlaceholderReferences::Pusher
- Included in:
- Gitlab::BitbucketServerImport::Importers::PullRequestImporter, Gitlab::BitbucketServerImport::Importers::PullRequestNotes::BaseImporter, Gitlab::BitbucketServerImport::Importers::PullRequestNotesImporter
- Defined in:
- lib/import/placeholder_references/pusher.rb
Instance Method Summary collapse
- #push_reference(project, record, attribute, source_user_identifier) ⇒ Object
- #source_user_mapped_to_human?(record, attribute, source_user) ⇒ Boolean
- #source_user_mapper(project) ⇒ Object
- #user_mapping_enabled?(project) ⇒ Boolean
Instance Method Details
#push_reference(project, record, attribute, source_user_identifier) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/import/placeholder_references/pusher.rb', line 6 def push_reference(project, record, attribute, source_user_identifier) return unless user_mapping_enabled?(project) source_user = source_user_mapper(project).find_source_user(source_user_identifier) # Do not create a reference if the object is already associated # with a real user. return if source_user_mapped_to_human?(record, attribute, source_user) ::Import::PlaceholderReferences::PushService.from_record( import_source: ::Import::SOURCE_BITBUCKET_SERVER, import_uid: project.import_state.id, record: record, source_user: source_user, user_reference_column: attribute ).execute end |
#source_user_mapped_to_human?(record, attribute, source_user) ⇒ Boolean
24 25 26 27 |
# File 'lib/import/placeholder_references/pusher.rb', line 24 def source_user_mapped_to_human?(record, attribute, source_user) source_user.nil? || (source_user.accepted_status? && record[attribute] == source_user.reassign_to_user_id) end |
#source_user_mapper(project) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/import/placeholder_references/pusher.rb', line 29 def source_user_mapper(project) @user_mapper ||= ::Gitlab::Import::SourceUserMapper.new( namespace: project.root_ancestor, source_hostname: project.import_url, import_type: ::Import::SOURCE_BITBUCKET_SERVER ) end |
#user_mapping_enabled?(project) ⇒ Boolean
37 38 39 |
# File 'lib/import/placeholder_references/pusher.rb', line 37 def user_mapping_enabled?(project) !!project.import_data.user_mapping_enabled? end |