Sha256: 81e125a4d1a84947cb56719e686a32c216799b866fff3587b0b5bf5a350d0e2c
Contents?: true
Size: 779 Bytes
Versions: 1
Compression:
Stored size: 779 Bytes
Contents
module Dry module Logic class Rule::Check < Rule attr_reader :keys class Unary < Rule::Check def evaluate_input(*) predicate.input end end class Binary < Rule::Check def evaluate_input(result) keys.map do |key| if key.is_a?(Hash) parent, child = key.to_a.flatten result[parent].input[child] else result[key].input end end end end def initialize(name, predicate, keys) super(name, predicate) @keys = keys end def call(result) Logic.Result(evaluate_input(result), predicate.(result), self) end def type :check end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dry-logic-0.1.4 | lib/dry/logic/rule/check.rb |