Sha256: 0fb99b282211eb06e5c5781536ad9fbda134ee8ad9467b2104ecd2db0ca48392

Contents?: true

Size: 425 Bytes

Versions: 4

Compression:

Stored size: 425 Bytes

Contents

# frozen_string_literal: true

module Dry
  module Transaction
    class StepAdapters
      # @api private
      class Check
        include Dry::Monads::Result::Mixin

        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

4 entries across 4 versions & 1 rubygems

Version Path
dry-transaction-0.14.0 lib/dry/transaction/step_adapters/check.rb
dry-transaction-0.13.3 lib/dry/transaction/step_adapters/check.rb
dry-transaction-0.13.2 lib/dry/transaction/step_adapters/check.rb
dry-transaction-0.13.1 lib/dry/transaction/step_adapters/check.rb