Class: Integrations::PropagateService

Inherits:
Object
  • Object
show all
Defined in:
app/services/integrations/propagate_service.rb

Constant Summary collapse

BATCH_SIZE =
10_000

Instance Method Summary collapse

Constructor Details

#initialize(integration) ⇒ PropagateService

Returns a new instance of PropagateService.



7
8
9
# File 'app/services/integrations/propagate_service.rb', line 7

def initialize(integration)
  @integration = integration
end

Instance Method Details

#executeObject



11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/services/integrations/propagate_service.rb', line 11

def execute
  return propagate_instance_level_integration if integration.instance_level?

  if integration.class.instance_specific?
    update_descendant_integrations
  else
    update_inherited_descendant_integrations
  end

  create_integration_for_groups_without_integration_belonging_to_group
  create_integration_for_projects_without_integration_belonging_to_group
end