module Dry module Logic class Rule::Result < Rule def call(input) result = input[name] result_input = result.input if result.success? Result::Wrapped.new(input, predicate.(result_input), self) else result end end def type :res end end end end