Sha256: 55137614df638d5d87c58d0499dffaef9cfc1bf720933a5115de7d70b4085201
Contents?: true
Size: 1.27 KB
Versions: 3
Compression:
Stored size: 1.27 KB
Contents
require 'dry/validation/constants' module Dry module Validation class Result include Dry::Equalizer(:output, :messages) include Enumerable attr_reader :output attr_reader :errors attr_reader :error_compiler attr_reader :hint_compiler alias_method :to_hash, :output alias_method :to_h, :output # for MRI 2.0, remove it when drop support def initialize(output, errors, error_compiler, hint_compiler) @output = output @errors = errors @error_compiler = error_compiler @hint_compiler = hint_compiler @messages = EMPTY_HASH if success? end def each(&block) output.each(&block) end def [](name) output.fetch(name) end def success? errors.empty? end def failure? !success? end def messages(options = EMPTY_HASH) message_set(options).dump end def message_set(options = EMPTY_HASH) error_compiler .with(options).(error_ast) .with_hints!(hint_compiler.with(options).()) end def to_ast [:set, error_ast] end private def error_ast @error_ast ||= errors.map { |error| error.to_ast } end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dry-validation-0.9.5 | lib/dry/validation/result.rb |
dry-validation-0.9.4 | lib/dry/validation/result.rb |
dry-validation-0.9.3 | lib/dry/validation/result.rb |