Module: Dry::Validation::Schema::Definition
- Included in:
- Dry::Validation::Schema, Value
- Defined in:
- lib/dry/validation/schema/definition.rb
Instance Method Summary collapse
- #confirmation(name) ⇒ Object
- #key(name, &block) ⇒ Object
- #optional(name, &block) ⇒ Object
- #rule(name, **options) ⇒ Object
Instance Method Details
#confirmation(name) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/dry/validation/schema/definition.rb', line 20 def confirmation(name) identifier = :"#{name}_confirmation" key(name, &:filled?) key(identifier, &:filled?) rule(identifier, eql?: [name, identifier]) end |
#key(name, &block) ⇒ Object
5 6 7 |
# File 'lib/dry/validation/schema/definition.rb', line 5 def key(name, &block) Key.new(name, rules).key?(&block) end |
#optional(name, &block) ⇒ Object
9 10 11 |
# File 'lib/dry/validation/schema/definition.rb', line 9 def optional(name, &block) Key.new(name, rules).optional(&block) end |
#rule(name, **options) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/dry/validation/schema/definition.rb', line 13 def rule(name, **) predicate, rules = .to_a.first identifier = { name => rules } groups << [:group, [identifier, [:predicate, predicate]]] end |