Method: Trailblazer::Activity::TaskWrap.invoke
- Defined in:
- lib/trailblazer/activity/task_wrap.rb
.invoke(activity, args, wrap_runtime: {}, container_activity: container_activity_for(activity), **circuit_options) ⇒ Object
Compute runtime arguments necessary to execute a taskWrap per task of the activity. This method is the top-level entry, called only once for the entire activity graph.
- :container_activity
-
the top-most “activity”. This only has to look like an Activity
and exposes a #[] interface so [:wrap_static] can be read and it's compatible to {Trace}.
It is the virtual activity that "hosts" the actual {activity}.
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/trailblazer/activity/task_wrap.rb', line 20 def invoke(activity, args, wrap_runtime: {}, container_activity: container_activity_for(activity), **) = .merge( runner: TaskWrap::Runner, wrap_runtime: wrap_runtime, activity: container_activity # for Runner. Ideally we'd have a list of all static_wraps here (even nested). ) # signal, (ctx, flow), circuit_options = TaskWrap::Runner.(activity, args, **) end |