Sha256: 606f420159d47b444955c72edacca82219498af0a12619862d5923f4c087fc66

Contents?: true

Size: 582 Bytes

Versions: 4

Compression:

Stored size: 582 Bytes

Contents

# frozen_string_literal: true

require 'dry/matcher'

module Dry
  module Transaction
    ResultMatcher = Dry::Matcher.new(
      success: Dry::Matcher::Case.new(
        match: -> result { result.success? },
        resolve: -> result { result.value! }
      ),
      failure: Dry::Matcher::Case.new(
        match: -> result, step_name = nil {
          if step_name
            result.failure? && result.failure.step.name == step_name
          else
            result.failure?
          end
        },
        resolve: -> result { result.failure.value }
      )
    )
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

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