Small refacto

This commit is contained in:
Ana Rosas 2016-05-27 16:10:16 +02:00
parent c3e0d6d6bb
commit ef7811ead9
2 changed files with 6 additions and 8 deletions

View File

@ -23,7 +23,7 @@ class Travis::Api::App
Metriks.meter("api.request.cancel_build").mark Metriks.meter("api.request.cancel_build").mark
if Travis::Features.owner_active?(:enqueue_to_hub, current_user) if Travis::Features.owner_active?(:enqueue_to_hub, current_user)
service = Travis::Enqueue::Services::CancelModel.new(current_user, { build_id: params[:id], source: 'api' }) service = Travis::Enqueue::Services::CancelModel.new(current_user, { build_id: params[:id] })
else else
service = self.service(:cancel_build, params.merge(source: 'api')) service = self.service(:cancel_build, params.merge(source: 'api'))
end end
@ -47,8 +47,7 @@ class Travis::Api::App
respond_with json respond_with json
else else
if service.respond_to?(:enqueue_to_hub) if service.respond_to?(:enqueue_to_hub)
payload = { build_id: params[:id], source: 'api'} service.enqueue_to_hub
service.enqueue_to_hub(payload)
else else
Travis::Sidekiq::BuildCancellation.perform_async(id: params[:id], user_id: current_user.id, source: 'api') Travis::Sidekiq::BuildCancellation.perform_async(id: params[:id], user_id: current_user.id, source: 'api')
end end

View File

@ -4,12 +4,11 @@ module Travis
class CancelModel class CancelModel
attr_reader :current_user, :source, :target attr_reader :current_user, :target
def initialize(current_user, params) def initialize(current_user, params)
@current_user = current_user @current_user = current_user
@params = params @params = params
@source = params.delete(:source) || 'unknown'
target target
end end
@ -21,16 +20,16 @@ module Travis
messages messages
end end
def enqueue_to_hub(payload) def enqueue_to_hub
# target may have been retrieved with a :join query, so we need to reset the readonly status # target may have been retrieved with a :join query, so we need to reset the readonly status
if can_cancel? if can_cancel?
target.send(:instance_variable_set, :@readonly, false) target.send(:instance_variable_set, :@readonly, false)
target.cancel! target.cancel!
if type == :build if type == :build
push_matrix(payload) push_matrix(@params)
else else
push(payload, target) push(@params, target)
end end
end end
end end