97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# File 'lib/trailblazer/activity/dsl/linear/helper.rb', line 97
def call(activity, path, customization)
task_id, *path = path
patch =
if task_id
segment_activity = Introspect::Graph(activity).find(task_id).task
patched_segment_activity = call(segment_activity, path, customization)
-> { step Subprocess(patched_segment_activity), replace: task_id, id: task_id }
else
customization
end
patched_activity = Class.new(activity)
patched_activity.class_exec(&patch)
patched_activity
end
|