class NxtSchema::Validators::OptionalNode
Attributes
conditional[R]
missing_key[R]
Public Class Methods
new(conditional, missing_key)
click to toggle source
# File lib/nxt_schema/validators/optional_node.rb, line 4 def initialize(conditional, missing_key) @conditional = conditional @missing_key = missing_key end
Public Instance Methods
build()
click to toggle source
# File lib/nxt_schema/validators/optional_node.rb, line 12 def build lambda do |node, value| args = [node, value] return if conditional.call(*args.take(conditional.arity)) return if node.send(:keys).include?(missing_key.to_sym) message = ErrorMessages.resolve( node.locale, :required_key_missing, key: missing_key, target: node.input ) node.add_error(message) end end