gitlab-org--gitlab-foss/app/services/test_hooks/base_service.rb

25 lines
571 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2017-07-20 15:12:06 +00:00
module TestHooks
class BaseService
include BaseServiceUtility
2017-07-20 15:12:06 +00:00
attr_accessor :hook, :current_user, :trigger
def initialize(hook, current_user, trigger)
@hook = hook
@current_user = current_user
@trigger = trigger
end
def execute
trigger_key = hook.class.triggers.key(trigger.to_sym)
2017-07-20 15:12:06 +00:00
return error('Testing not available for this hook') if trigger_key.nil? || data.blank?
return error(data[:error]) if data[:error].present?
2017-07-20 15:12:06 +00:00
hook.execute(data, trigger_key)
2017-07-20 15:12:06 +00:00
end
end
end