module Actions::RemoteExecution::EventHelpers

def self.included(base)

def self.included(base)
  base.extend ClassEventHelpers
end

def emit_event(execution_plan, hook)

def emit_event(execution_plan, hook)
  return unless root_action?
  payload = event_payload(execution_plan)
  base = self.class.event_name_base
  suffix = self.class.event_name_suffix(hook)
  if input["job_features"]&.any?
    input['job_features'].each do |feature|
      name = "#{base}_#{feature}_#{suffix}"
      trigger_hook name, payload: payload
    end
  end
  trigger_hook("#{base}_#{suffix}", payload: payload)
end