class FunctionalLightService::Organizer::WithCallback
Public Class Methods
run(organizer, action, steps)
click to toggle source
# File lib/functional-light-service/organizer/with_callback.rb, line 6 def self.run(organizer, action, steps) ->(ctx) do return ctx if ctx.stop_processing? # This will only allow 2 level deep nesting of callbacks previous_callback = ctx[:callback] ctx[:callback] = ->(context) do ctx = scoped_reduce(organizer, context, steps) ctx end ctx = action.execute(ctx) ctx[:callback] = previous_callback ctx end end