class NxtSchema::Node::AnyOf

Public Instance Methods

call() click to toggle source
# File lib/nxt_schema/node/any_of.rb, line 8
def call
  child_nodes.map(&:call)

  if valid?
    self.output = valid_node.output
  else
    child_nodes.each do |node|
      merge_errors(node)
    end
  end

  self
end
valid?() click to toggle source
# File lib/nxt_schema/node/any_of.rb, line 4
def valid?
  valid_node.present?
end

Private Instance Methods

child_nodes() click to toggle source
# File lib/nxt_schema/node/any_of.rb, line 30
def child_nodes
  @child_nodes ||= nodes.map { |node| node.build_node(input: input, context: context, parent: self) }
end
nodes() click to toggle source
# File lib/nxt_schema/node/any_of.rb, line 34
def nodes
  @nodes ||= node.sub_nodes.values
end
valid_node() click to toggle source
# File lib/nxt_schema/node/any_of.rb, line 26
def valid_node
  child_nodes.find(&:valid?)
end