Class: Gitlab::ApprovalRules::V2::DataMapper

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/approval_rules/v2/data_mapper.rb

Instance Method Summary collapse

Constructor Details

#initialize(v1_rule) ⇒ DataMapper

Returns a new instance of DataMapper.



7
8
9
# File 'lib/gitlab/approval_rules/v2/data_mapper.rb', line 7

def initialize(v1_rule)
  @v1_rule = v1_rule
end

Instance Method Details

#migrateObject



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/gitlab/approval_rules/v2/data_mapper.rb', line 11

def migrate
  return unless v1_rule
  return unless Feature.enabled?(:v2_approval_rules, v1_rule.project)
  return unless merge_request_level_rule?

  ApplicationRecord.transaction do
    v2_rule = create_v2_rule
    create_merge_request_association(v2_rule)
    migrate_user_associations(v2_rule)
    v2_rule
  end
end