Class: Avro::SchemaValidator
- Inherits:
-
Object
- Object
- Avro::SchemaValidator
- Defined in:
- lib/avro/schema_validator.rb
Defined Under Namespace
Classes: Result, ValidationError
Constant Summary collapse
- ROOT_IDENTIFIER =
'.'.freeze
- PATH_SEPARATOR =
'.'.freeze
- INT_RANGE =
Schema::INT_MIN_VALUE..Schema::INT_MAX_VALUE
- LONG_RANGE =
Schema::LONG_MIN_VALUE..Schema::LONG_MAX_VALUE
- COMPLEX_TYPES =
[:array, :error, :map, :record, :request].freeze
- BOOLEAN_VALUES =
[true, false].freeze
- TypeMismatchError =
Class.new(ValidationError)
Class Method Summary collapse
Class Method Details
.validate!(expected_schema, logical_datum, options = { recursive: true, encoded: false, fail_on_extra_fields: false }) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/avro/schema_validator.rb', line 66 def validate!(expected_schema, logical_datum, = { recursive: true, encoded: false, fail_on_extra_fields: false }) ||= {} [:recursive] = true unless .key?(:recursive) result = Result.new if [:recursive] validate_recursive(expected_schema, logical_datum, ROOT_IDENTIFIER, result, ) else validate_simple(expected_schema, logical_datum, ROOT_IDENTIFIER, result, ) end fail ValidationError, result if result.failure? result end |