class ForemanTasksCore::ShareableAction

Public Instance Methods

plan(input) click to toggle source
# File lib/foreman_tasks_core/shareable_action.rb, line 3
def plan(input)
  input = input.dup
  callback = input.delete('callback')
  if callback
    input[:task_id] = callback['task_id']
  else
    input[:task_id] ||= SecureRandom.uuid
  end

  planned_action = plan_self(input)
  # code only applicable, when run with SmartProxyDynflowCore in place
  if on_proxy? && callback
    plan_action(SmartProxyDynflowCore::Callback::Action, callback, planned_action.output)
  end
end

Private Instance Methods

on_proxy?() click to toggle source
# File lib/foreman_tasks_core/shareable_action.rb, line 21
def on_proxy?
  defined?(SmartProxyDynflowCore::Callback)
end