in lib/core/filtering/hash_against_schema_validator.rb [74:94]
def type_error_present?(field_name, schema_type, actual_value)
if schema_type.is_a?(Proc)
result = schema_type.call(actual_value)
if result.is_a?(Array)
is_valid, error_msg = result
return !is_valid, error_msg
end
return !result, 'Custom type matcher validation failed.'
end
error_msg = "Expected field type '#{schema_type}' for field '#{field_name}', but got value '#{actual_value.inspect}' of type '#{actual_value.class}'."
return true, error_msg unless actual_value.is_a?(schema_type)
false
end