Sha256: 85d2633c92db7947e8366c252357e66a6437f3e0d44fabaed59079390dca9cf0
Contents?: true
Size: 786 Bytes
Versions: 1
Compression:
Stored size: 786 Bytes
Contents
module NxtSchema module Node class AnyOf < Node::Base def valid? valid_application.present? end def call child_applications.map(&:call) if valid? self.output = valid_application.output else child_applications.each do |application| merge_errors(application) end end self end private delegate :[], to: :child_applications def valid_application child_applications.find(&:valid?) end def child_applications @child_applications ||= nodes.map { |node| node.build_application(input: input, context: context, parent: self) } end def nodes @nodes ||= node.sub_nodes.values end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nxt_schema-1.0.1 | lib/nxt_schema/node/any_of.rb |