Sha256: 9dda049a2fecf3aa7da44a9bc0adc154dc3fb83cf0273e57387668a03f94ad64

Contents?: true

Size: 551 Bytes

Versions: 1

Compression:

Stored size: 551 Bytes

Contents

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

1 entries across 1 versions & 1 rubygems

Version Path
dry-transaction-0.13.0 lib/dry/transaction/result_matcher.rb