Sha256: 41a504c75e88adca8895d958926be92944efec4fe8b7fa568728d2e6fca7d40f

Contents?: true

Size: 705 Bytes

Versions: 3

Compression:

Stored size: 705 Bytes

Contents

# frozen_string_literal: true

module ConvenientService
  module Service
    module Plugins
      module CanHaveConnectedSteps
        class Middleware < MethodChainMiddleware
          intended_for :result, entity: :service

          ##
          # @return [ConvenientService::Service::Plugins::HasJSendResult::Entities::Result]
          #
          def next(...)
            return chain.next(...) if entity.steps.none?

            entity.steps.each_evaluated_step do |step|
              step.save_outputs_in_organizer!

              step.trigger_callback

              step.mark_as_completed!
            end

            entity.steps.result
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
convenient_service-0.19.1 lib/convenient_service/service/plugins/can_have_connected_steps/middleware.rb
convenient_service-0.19.0 lib/convenient_service/service/plugins/can_have_connected_steps/middleware.rb
convenient_service-0.18.0 lib/convenient_service/service/plugins/can_have_connected_steps/middleware.rb