Class: Integrations::PropagateService

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

Constant Summary collapse

BATCH_SIZE =
10_000

Class Method Summary collapse

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

Class Method Details

.propagate(integration) ⇒ Object



23
24
25
# File 'app/services/integrations/propagate_service.rb', line 23

def self.propagate(integration)
  new(integration).propagate
end

Instance Method Details

#propagateObject



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

def propagate
  if integration.instance_level?
    update_inherited_integrations
    create_integration_for_groups_without_integration
    create_integration_for_projects_without_integration
  else
    update_inherited_descendant_integrations
    create_integration_for_groups_without_integration_belonging_to_group
    create_integration_for_projects_without_integration_belonging_to_group
  end
end