blob: 3f2949a53bae4e5b8a972dc032b731718bc3b6dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# frozen_string_literal: true
module TestHooks
class BaseService
include BaseServiceUtility
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)
return error('Testing not available for this hook') if trigger_key.nil? || data.blank?
return error(data[:error]) if data[:error].present?
hook.execute(data, trigger_key, force: true)
rescue ArgumentError => e
error(e.message)
end
def error(message)
ServiceResponse.error(message: message)
end
end
end
|