Small refacto
This commit is contained in:
parent
c3e0d6d6bb
commit
ef7811ead9
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user