Sha256: d48836f4a931910bb242eae256fb1e7b6781cda98fbfc9f83b49cf161ca05624

Contents?: true

Size: 770 Bytes

Versions: 11

Compression:

Stored size: 770 Bytes

Contents

class OpenAPIParser::SchemaValidator
  class IntegerValidator < Base
    include ::OpenAPIParser::SchemaValidator::Enumable

    # validate integer value by schema
    # @param [Object] value
    # @param [OpenAPIParser::Schemas::Schema] schema
    def coerce_and_validate(value, schema)
      value = coerce(value) if @coerce_value

      return OpenAPIParser::ValidateError.build_error_result(value, schema) unless value.kind_of?(Integer)

      check_enum_include(value, schema)
    end

    private

      def coerce(value)
        return value if value.kind_of?(Integer)

        begin
          return Integer(value)
        rescue ArgumentError => e
          raise e unless e.message =~ /invalid value for Integer/
        end

        value
      end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
openapi_parser-0.2.7 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.2.6 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.2.5 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.2.4 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.2.3 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.2.2 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.2.1 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.2.0 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.1.9 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.1.8 lib/openapi_parser/schema_validators/integer_validator.rb
openapi_parser-0.1.7 lib/openapi_parser/schema_validators/integer_validator.rb