Sha256: f3a1f2462b9bb4b0bf091a3c186b7522c0cc23667d9fe79186c73b9e0c0f892c
Contents?: true
Size: 1.18 KB
Versions: 1
Compression:
Stored size: 1.18 KB
Contents
class OpenAPIParser::SchemaValidator class StringValidator < Base include ::OpenAPIParser::SchemaValidator::Enumable def initialize(validator, coerce_value, datetime_coerce_class) super(validator, coerce_value) @datetime_coerce_class = datetime_coerce_class end def coerce_and_validate(value, schema) return OpenAPIParser::ValidateError.build_error_result(value, schema) unless value.kind_of?(String) value, err = check_enum_include(value, schema) return [nil, err] if err unless @datetime_coerce_class.nil? value = coerce_date_time(value, schema) return OpenAPIParser::ValidateError.build_error_result(value, schema) unless value.kind_of?(@datetime_coerce_class) end [value, nil] end private # @param [OpenAPIParser::Schemas::Schema] schema def coerce_date_time(value, schema) (schema.format == 'date-time') ? parse_date_time(value) : value end def parse_date_time(value) begin return @datetime_coerce_class.parse(value) rescue ArgumentError => e raise e unless e.message =~ /invalid date/ end value end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
openapi_parser-0.2.1 | lib/openapi_parser/schema_validators/string_validator.rb |