Sha256: 0e9916504dbf1a0de4336f96cd76bf8d41b41d19fdaf6d6364e0814fb86b6f0e
Contents?: true
Size: 813 Bytes
Versions: 2
Compression:
Stored size: 813 Bytes
Contents
module Dry module Validation class Schema module Definition def key(name, &block) Key.new(name, rules).key?(&block) end def optional(name, &block) Key.new(name, rules).optional(&block) end def rule(name, **options) predicate, rules = options.to_a.first identifier = { name => rules } groups << [:group, [identifier, [:predicate, predicate]]] end def confirmation(name) identifier = :"#{name}_confirmation" key(name, &:filled?) key(identifier, &:filled?) rule(identifier, eql?: [name, identifier]) end end end end end require 'dry/validation/schema/rule' require 'dry/validation/schema/value' require 'dry/validation/schema/key'
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dry-validation-0.3.1 | lib/dry/validation/schema/definition.rb |
dry-validation-0.3.0 | lib/dry/validation/schema/definition.rb |