Sha256: 2b3507ff73269d3a7617366f561eb8d9c613eb3961f551349f3a01d5aa6cfec7
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module JSONSchemer module Schema class Draft4 < Base ID_KEYWORD = 'id' SUPPORTED_FORMATS = Set[ 'date-time', 'email', 'hostname', 'ipv4', 'ipv6', 'uri', 'regex' ].freeze private def id_keyword ID_KEYWORD end def supported_format?(format) SUPPORTED_FORMATS.include?(format) end def validate_exclusive_maximum(instance, exclusive_maximum, maximum) yield error(instance, 'exclusiveMaximum') if exclusive_maximum && instance.data >= maximum end def validate_exclusive_minimum(instance, exclusive_minimum, minimum) yield error(instance, 'exclusiveMinimum') if exclusive_minimum && instance.data <= minimum end def validate_integer(instance, &block) if !instance.data.is_a?(Integer) yield error(instance, 'integer') return end validate_numeric(instance, &block) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
json_schemer-0.2.1 | lib/json_schemer/schema/draft4.rb |
json_schemer-0.2.0 | lib/json_schemer/schema/draft4.rb |