Sha256: 1650e14eea54ce1a0ea66b0aafe977184645a52b6f0f118c6e397cd8c9e5d492

Contents?: true

Size: 446 Bytes

Versions: 1

Compression:

Stored size: 446 Bytes

Contents

module Dry
  module Logic
    class Result::Each < Result::Multi
      def to_ast
        failed_rules = failures.map { |idx, el| [:el, [idx, el.to_ast]] }
        [:result, [input, [:each, failed_rules]]]
      end

      def success?
        response.values.all?(&:success?)
      end

      def failures
        response.each_with_object({}) { |(idx, res), hash|
          hash[idx] = res if res.failure?
        }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-logic-0.3.0 lib/dry/logic/result/each.rb