Sha256: b55474d14c10f3632a09d186d2cb2655ecce8069971bd0f29029f8910c1d0665
Contents?: true
Size: 1007 Bytes
Versions: 3
Compression:
Stored size: 1007 Bytes
Contents
module Dry module Validation class Result include Enumerable attr_reader :rule_results def initialize(rule_results) @rule_results = rule_results end def each(&block) rule_results.each(&block) end def to_h each_with_object({}) { |result, hash| hash[result.name] = result } end def merge!(other) rule_results.concat(other.rule_results) end def to_ary failures.map(&:to_ary) end def <<(rule_result) rule_results << rule_result end def with_values(names, &block) values = names.map { |name| by_name(name) }.compact.map(&:input) yield(values) if values.size == names.size end def by_name(name) successes.detect { |rule_result| rule_result.name == name } end def successes rule_results.select(&:success?) end def failures rule_results.select(&:failure?) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dry-validation-0.5.0 | lib/dry/validation/result.rb |
dry-validation-0.4.1 | lib/dry/validation/result.rb |
dry-validation-0.4.0 | lib/dry/validation/result.rb |