class Dry::Logic::Operations::Each

Public Instance Methods

[](arr) click to toggle source
# File lib/dry/logic/operations/each.rb, line 28
def [](arr)
  arr.map { |input| rule[input] }.all?
end
call(input) click to toggle source
# File lib/dry/logic/operations/each.rb, line 14
def call(input)
  results = input.map { |element| rule.(element) }
  success = results.all?(&:success?)

  Result.new(success, id) do
    failures = results
      .map
      .with_index { |result, idx| [:key, [idx, result.ast(input[idx])]] if result.failure? }
      .compact

    [:set, failures]
  end
end
type() click to toggle source
# File lib/dry/logic/operations/each.rb, line 10
def type
  :each
end