Sha256: febe4400a568df5e1181cee11153f187a9dfd288d526949bf165f2971f0c911c

Contents?: true

Size: 684 Bytes

Versions: 3

Compression:

Stored size: 684 Bytes

Contents

module Finitio
  module JsonSchema

    BUILTIN_MAPPING = {
      NilClass => "string", # jsonapi does not support null
      String => "string",
      Integer => "integer",
      Fixnum => "integer",
      Bignum => "integer",
      Float => "number",
      Numeric => "number",
      TrueClass => "boolean",
      FalseClass => "boolean",
      Object => "object"
    }

  end
  class BuiltinType

    def to_json_schema(*args, &bl)
      mapped = JsonSchema::BUILTIN_MAPPING[ruby_type]
      if mapped
        { type: mapped }
      else
        raise JsonSchema::Error, "Unable to map #{ruby_type} to json-schema"
      end
    end

  end # class BuiltinType
end # module Finitio

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
finitio-0.11.4 lib/finitio/json_schema/builtin_type.rb
finitio-0.11.3 lib/finitio/json_schema/builtin_type.rb
finitio-0.11.2 lib/finitio/json_schema/builtin_type.rb