Module: Vert
Constant Summary collapse
- InputError =
Class.new(StandardError)
- ValidationError =
Class.new(StandardError)
- NOT_A_HASH_ERROR =
error messages for hash validation
"Not a hash."
- NOT_A_HASH_ERROR_KEY =
:not_a_hash
- EMPTY_ERROR =
"The hash is empty."
- EMPTY_ERROR_KEY =
:empty
- ABSENT_KEY_ERROR =
"The data does not contain one or more required keys."
- ABSENT_KEY_ERROR_KEY =
:absent_key
- ARRAY_TYPE_ERROR =
"The following key/s do not have Array type values."
- ARRAY_TYPE_ERROR_KEY =
:array_type
- HASH_TYPE_ERROR =
"The following key/s do not have Hash type values."
- HASH_TYPE_ERROR_KEY =
:hash_type
- ARRAY_EMPTY_ERROR =
"The following array key/s are empty."
- ARRAY_EMPTY_ERROR_KEY =
:array_empty
- HASH_EMPTY_ERROR =
"The following hash key/s are empty."
- HASH_EMPTY_ERROR_KEY =
:hash_empty
- NOT_A_STRING_ERROR =
error messages for JSON validation
"Not a JSON string."
- NOT_A_STRING_ERROR_KEY =
:not_a_string
- EMPTY_JSON_ERROR =
"The JSON string is empty."
- EMPTY_JSON_ERROR_KEY =
:empty_json
- EMPTY_JSON_OBJECT_ERROR =
"The JSON object is empty."
- EMPTY_JSON_OBJECT_ERROR_KEY =
:empty_json_object
- MALFORMED_JSON_ERROR =
"The JSON string is malformed"
- MALFORMED_JSON_ERROR_KEY =
:malformed_json
- INVALID_AVRO_SCHEMA_ERROR =
error messages for avro verification
"The avro schema is invalid"
- INVALID_AVRO_SCHEMA_ERROR_KEY =
:invalid_avro_schema
- INVALID_AVRO_DATUM_ERROR =
"The JSON provided is not an instance of the schema."
- INVALID_AVRO_DATUM_ERROR_KEY =
:invalid_avro_datum
- TYPE_ENUM =
Enums
{array_keys: Array, hash_keys: Hash}
- OPTIONS_HASH_ENUM =
[:keys, :custom_errors]
- OPTIONS_JSON_HASH_ENUM =
[:schema, :custom_errors]
- KEYS_ENUM =
[:required_keys, :array_keys, :hash_keys]
- ERROR_KEY_ENUM =
{ NOT_A_HASH_ERROR_KEY => NOT_A_HASH_ERROR, EMPTY_ERROR_KEY => EMPTY_ERROR, ABSENT_KEY_ERROR_KEY => ABSENT_KEY_ERROR, ARRAY_TYPE_ERROR_KEY => ARRAY_TYPE_ERROR, HASH_TYPE_ERROR_KEY => HASH_TYPE_ERROR, ARRAY_EMPTY_ERROR_KEY => ARRAY_EMPTY_ERROR, HASH_EMPTY_ERROR_KEY => HASH_EMPTY_ERROR, NOT_A_STRING_ERROR_KEY => NOT_A_STRING_ERROR, EMPTY_JSON_ERROR_KEY => EMPTY_JSON_ERROR, EMPTY_JSON_OBJECT_ERROR_KEY => EMPTY_JSON_OBJECT_ERROR, MALFORMED_JSON_ERROR_KEY => MALFORMED_JSON_ERROR, INVALID_AVRO_SCHEMA_ERROR_KEY => INVALID_AVRO_SCHEMA_ERROR, INVALID_AVRO_DATUM_ERROR_KEY => INVALID_AVRO_DATUM_ERROR }
- OPTIONS_HASH_EMPTY =
input validation
"The options hash must contain keys"
- OPTIONS_NOT_A_HASH =
"The options parameter must be a hash"
- OPTIONS_HASH_FORMAT =
"{:keys => {}, :custom_errors => {}}"
- OPTIONS_JSON_HASH_FORMAT =
"{:schema => \"avro shcema\", :custom_errors => {}}"
- OPTIONS_HASH_MISSING_VALID_KEYS =
"The options hash contains no valid keys. The valid symbol keys are - "
- KEYS_HASH_MISSING_VALID_KEYS =
"The options hash contains no valid keys for the :keys hash. The valid symbol keys are - "
- CUSTOM_ERRORS_HASH_MISSING_VALID_KEYS =
"The options hash contains no valid keys for the :custom_errors hash. The valid symbol keys are - "
- SCHEMA_NOT_A_STRING =
"The options hash contains a :schema value which is not a string."
- SCHEMA_NOT_JSON =
"The options hash contains a :schema value which is not a JSON string"
Instance Method Summary collapse
- #get_error_keys ⇒ Object
- #validate(hash, options = nil) ⇒ Object
- #validate?(hash, options = nil) ⇒ Boolean
- #validate_json(json, options = nil) ⇒ Object
- #validate_json?(json, options = nil) ⇒ Boolean
Instance Method Details
#get_error_keys ⇒ Object
119 120 121 |
# File 'lib/vert.rb', line 119 def get_error_keys pp ERROR_KEY_ENUM end |
#validate(hash, options = nil) ⇒ Object
85 86 87 88 89 90 91 92 93 |
# File 'lib/vert.rb', line 85 def validate(hash, = nil) unless .nil? (, OPTIONS_HASH_FORMAT) () end test_validations(hash, ) rescue InputError => exception build_error_output(exception) end |
#validate?(hash, options = nil) ⇒ Boolean
95 96 97 98 99 100 |
# File 'lib/vert.rb', line 95 def validate?(hash, = nil) () unless .nil? test_validations(hash, ).nil? ? true : false rescue InputError => exception false end |
#validate_json(json, options = nil) ⇒ Object
109 110 111 112 113 114 115 116 117 |
# File 'lib/vert.rb', line 109 def validate_json(json, = nil) unless .nil? (, OPTIONS_JSON_HASH_FORMAT) () end test_validations_json(json, ) rescue InputError => exception build_error_output(exception) end |
#validate_json?(json, options = nil) ⇒ Boolean
102 103 104 105 106 107 |
# File 'lib/vert.rb', line 102 def validate_json?(json, = nil) () unless .nil? validate_json(json, ).nil? ? true : false rescue InputError => exception false end |