diff options
author | James Lopez <james@jameslopez.es> | 2017-05-04 19:11:28 +0300 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2017-05-04 19:11:28 +0300 |
commit | cf002738e766f977bdb0e857759f548a5c65c9bd (patch) | |
tree | 4162281ab28ac4eaf1f711e2f20c46125807397a /app | |
parent | 78d059141b5f3345d797992e03680654ce762c76 (diff) |
refactor a few things based on feedback
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/admin/services_controller.rb | 4 | ||||
-rw-r--r-- | app/models/service.rb | 10 | ||||
-rw-r--r-- | app/services/projects/propagate_service.rb | 8 | ||||
-rw-r--r-- | app/workers/propagate_project_service_worker.rb | 2 |
4 files changed, 8 insertions, 16 deletions
diff --git a/app/controllers/admin/services_controller.rb b/app/controllers/admin/services_controller.rb index 2b6f335cb2b..e335fbfffed 100644 --- a/app/controllers/admin/services_controller.rb +++ b/app/controllers/admin/services_controller.rb @@ -15,7 +15,9 @@ class Admin::ServicesController < Admin::ApplicationController end def update - if service.update_and_propagate(service_params[:service]) + if service.update_attributes(service_params[:service]) + PropagateProjectServiceWorker.perform_async(service.id) if service.active? + redirect_to admin_application_settings_services_path, notice: 'Application settings saved successfully' else diff --git a/app/models/service.rb b/app/models/service.rb index f8534387703..c71a7d169ec 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -254,16 +254,6 @@ class Service < ActiveRecord::Base service end - def update_and_propagate(service_params) - return false unless update_attributes(service_params) - - if service_params[:active] - PropagateProjectServiceWorker.perform_async(id) - end - - true - end - private def cache_project_has_external_issue_tracker diff --git a/app/services/projects/propagate_service.rb b/app/services/projects/propagate_service.rb index 3c05dcce07c..6e24a67d8b0 100644 --- a/app/services/projects/propagate_service.rb +++ b/app/services/projects/propagate_service.rb @@ -2,15 +2,15 @@ module Projects class PropagateService BATCH_SIZE = 100 - def self.propagate!(*args) - new(*args).propagate! + def self.propagate(*args) + new(*args).propagate end def initialize(template) @template = template end - def propagate! + def propagate return unless @template&.active Rails.logger.info("Propagating services for template #{@template.id}") @@ -28,7 +28,7 @@ module Projects batch.each { |project_id| create_from_template(project_id) } - break if batch.count < BATCH_SIZE + break if batch.size < BATCH_SIZE offset += BATCH_SIZE end diff --git a/app/workers/propagate_project_service_worker.rb b/app/workers/propagate_project_service_worker.rb index 6cc3fe84635..5eabe4eaecd 100644 --- a/app/workers/propagate_project_service_worker.rb +++ b/app/workers/propagate_project_service_worker.rb @@ -10,7 +10,7 @@ class PropagateProjectServiceWorker def perform(template_id) return unless try_obtain_lease_for(template_id) - Projects::PropagateService.propagate!(Service.find_by(id: template_id)) + Projects::PropagateService.propagate(Service.find_by(id: template_id)) end private |