Sha256: 338e3b19bb7f537836b393816e4ab38554eebb2f09af940c6e73da7c5be6fa8c

Contents?: true

Size: 441 Bytes

Versions: 1

Compression:

Stored size: 441 Bytes

Contents

require "kleisli"

module Dry
  module Transaction
    class StepAdapters
      # @api private
      class Raw
        def call(step, *args, input)
          result = step.operation.call(*args, input)

          unless result.is_a?(Kleisli::Either)
            raise ArgumentError, "step +#{step.step_name}+ must return an Either object"
          end

          result
        end
      end

      register :step, Raw.new
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-transaction-0.6.0 lib/dry/transaction/step_adapters/raw.rb