Sha256: 4f77f7fa6cf7719aa8e851a4014f3ac968397c3a8b1857bef491ed8e2277f76c
Contents?: true
Size: 856 Bytes
Versions: 1
Compression:
Stored size: 856 Bytes
Contents
module NxtSchema module Application class AnyOf < Application::Base def valid? valid_application.present? end def call # TODO: We should check that this is not empty! 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.0 | lib/nxt_schema/application/any_of.rb |