module Swagger::V2::DeterministicJSONSchema
A Swagger
Schema
Object, which is subset of JSON-Schema that's constrainted to be more deterministic. @see github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#schema-object- Schema
Object @see json-schema.org/ JSON-Schema
Public Class Methods
included(base)
click to toggle source
@!group Swagger
specific extensions @!attribute [rw] discriminator
Swagger Schema field discriminator. @return String
@!attribute [rw] readOnly
Swagger Schema field readOnly. @return boolean
@!attribute [rw] xml
Swagger Schema field xml. @return Object
@!attribute [rw] externalDocs
Swagger Schema field externalDocs. @return ExternalDocumentation
@!attribute [rw] example
Swagger Schema field example. @return Object
@!endgroup
# File lib/swagger/v2/deterministic_json_schema.rb, line 93 def self.included(base) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength # Subset of standard JSON schema base.field :$ref, String base.field :format, String base.field :title, String base.field :description, String base.field :default, Object base.field :multipleOf, Numeric base.field :maximum, Numeric base.field :exclusiveMaximum, Swagger::Boolean base.send(:alias_method, :exclusiveMaximum?, :exclusiveMaximum) base.field :minimum, Numeric base.field :exclusiveMinimum, Swagger::Boolean base.send(:alias_method, :exclusiveMinimum?, :exclusiveMinimum) base.field :maxLength, Integer base.field :minLength, Integer base.field :pattern, String base.field :maxItems, Integer base.field :minItems, Integer base.field :uniqueItems, Swagger::Boolean base.send(:alias_method, :uniqueItems?, :uniqueItems) base.field :maxProperties, Integer base.field :minProperties, Integer base.field :required, Swagger::Boolean base.send(:alias_method, :required?, :required) base.field :enum, Array[Object] base.field :type, Object # Swagger extensions to JSON schema :\ base.field :discriminator, String base.field :readOnly, Swagger::Boolean base.field :xml, Object # TODO: Swagger XML object / XML support base.field :externalDocs, Object # TODO: ExternalDocumentation class base.field :example, Object end