Sha256: 49477a58197773e3784f1d53f61d11616d5a9c097f6ccab439562ae73ce10d08

Contents?: true

Size: 567 Bytes

Versions: 26

Compression:

Stored size: 567 Bytes

Contents

module Schemacop
  module V3
    class AnyOfNode < CombinationNode
      def type
        :anyOf
      end

      def _validate(data, result:)
        super_data = super
        return if super_data.nil?

        match = match(super_data)

        if match
          match._validate(super_data, result: result)
        else
          result.error 'Does not match any anyOf condition.'
        end
      end

      def validate_self
        if @items.empty?
          fail 'Node "any_of" makes only sense with at least 1 item.'
        end
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
schemacop-3.0.19 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.18 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.17 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.16 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.15 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.14 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.13 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.12 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.11 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.10 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.9 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.8 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.7 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.6 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.5 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.4 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.3 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.2 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.1 lib/schemacop/v3/any_of_node.rb
schemacop-3.0.0 lib/schemacop/v3/any_of_node.rb