Sha256: 8ccf8e83e6414e62d864478b12bb884101d514ac2837094d0421fc201b4c206d

Contents?: true

Size: 431 Bytes

Versions: 2

Compression:

Stored size: 431 Bytes

Contents

module Schemacop
  class HashValidator < NodeSupportingField
    register symbols: :hash, klasses: Hash

    def validate(data, collector)
      super

      allowed_fields = @fields.keys
      obsolete_keys = data.keys - allowed_fields

      collector.error "Obsolete keys: #{obsolete_keys.inspect}." if obsolete_keys.any?

      @fields.values.each do |field|
        field.validate(data, collector)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
schemacop-2.1.0 lib/schemacop/validator/hash_validator.rb
schemacop-2.0.0 lib/schemacop/validator/hash_validator.rb