Sha256: 13f2085f339c7481e72c00e7dfdf1e489322632ce080726e21d3d503471686ae

Contents?: true

Size: 419 Bytes

Versions: 2

Compression:

Stored size: 419 Bytes

Contents

# frozen_string_literal: true

module Dry
  module Transaction
    class StepAdapters
      # @api private
      class Check
        include Dry::Monads[:result]

        def call(operation, _options, args)
          input = args[0]
          res = operation.(*args)
          res == true || res.is_a?(Success) ? Success(input) : Failure(input)
        end
      end

      register :check, Check.new
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dry-transaction-0.16.0 lib/dry/transaction/step_adapters/check.rb
dry-transaction-0.15.0 lib/dry/transaction/step_adapters/check.rb