Module: Scorpio::OpenAPI::V3_0

Includes:
Tags
Defined in:
lib/scorpio/openapi/v3_0.rb,
lib/scorpio/openapi/v3_0/dialect.rb

Defined Under Namespace

Modules: Document, Operation, PathItem, Paths, Reference, Response, SecurityScheme, Server, Tag

Constant Summary collapse

SchemaReference =
Document.definitions['SchemaReference']
Info =
Document.definitions['Info']
Contact =
Document.definitions['Contact']
License =
Document.definitions['License']
ServerVariable =
Document.definitions['ServerVariable']
Components =
Document.definitions['Components']
Schema =
Document.definitions['Schema']
Discriminator =
Document.definitions['Discriminator']
XML =
Document.definitions['XML']
MediaType =
Document.definitions['MediaType']
Example =
Document.definitions['Example']
Header =
Document.definitions['Header']
Responses =
Document.definitions['Responses']
SecurityRequirement =
Document.definitions['SecurityRequirement']
ExternalDocumentation =
Document.definitions['ExternalDocumentation']
Parameter =
Document.definitions['Parameter']
PathParameter =
Document.definitions['PathParameter']
QueryParameter =
Document.definitions['QueryParameter']
HeaderParameter =
Document.definitions['HeaderParameter']
CookieParameter =
Document.definitions['CookieParameter']
RequestBody =
Document.definitions['RequestBody']
APIKeySecurityScheme =
Document.definitions['APIKeySecurityScheme']
HTTPSecurityScheme =
Document.definitions['HTTPSecurityScheme']
OAuth2SecurityScheme =
Document.definitions['OAuth2SecurityScheme']
OpenIdConnectSecurityScheme =
Document.definitions['OpenIdConnectSecurityScheme']
OAuthFlows =
Document.definitions['OAuthFlows']
ImplicitOAuthFlow =
Document.definitions['ImplicitOAuthFlow']
PasswordOAuthFlow =
Document.definitions['PasswordOAuthFlow']
ClientCredentialsFlow =
Document.definitions['ClientCredentialsFlow']
AuthorizationCodeOAuthFlow =
Document.definitions['AuthorizationCodeOAuthFlow']
Document.definitions['Link']
Callback =
Document.definitions['Callback']
Encoding =
Document.definitions['Encoding']
VOCABULARY =
JSI::Schema::Vocabulary.new(
  elements: [
    JSI::Schema::Elements::SELF[],

    JSI::Schema::Elements::REF[exclusive: true],

    JSI::Schema::Elements::MULTIPLE_OF[],

    JSI::Schema::Elements::MAXIMUM_BOOLEAN_EXCLUSIVE[],

    JSI::Schema::Elements::MINIMUM_BOOLEAN_EXCLUSIVE[],

    JSI::Schema::Elements::MAX_LENGTH[],

    JSI::Schema::Elements::MIN_LENGTH[],

    JSI::Schema::Elements::PATTERN[],

    JSI::Schema::Elements::MAX_ITEMS[],

    JSI::Schema::Elements::MIN_ITEMS[],

    JSI::Schema::Elements::UNIQUE_ITEMS[],

    JSI::Schema::Elements::MAX_PROPERTIES[],

    JSI::Schema::Elements::MIN_PROPERTIES[],

    JSI::Schema::Elements::REQUIRED[],

    JSI::Schema::Elements::ENUM[],

    OpenAPI::SchemaElements::TYPE_NULLABLE,

    JSI::Schema::Elements::ALL_OF[],
    JSI::Schema::Elements::ONE_OF[],
    JSI::Schema::Elements::ANY_OF[],

    JSI::Schema::Elements::NOT[],

    # TODO this should not include additionalItems
    JSI::Schema::Elements::ITEMS[],

    # TODO this should not include patternProperties
    JSI::Schema::Elements::PROPERTIES[],

    JSI::Schema::Elements::INFO_STRING[keyword: 'title'],
    JSI::Schema::Elements::INFO_STRING[keyword: 'description'],

    JSI::Schema::Elements::INFO_BOOL[keyword: 'readOnly'],
    JSI::Schema::Elements::INFO_BOOL[keyword: 'writeOnly'],
    JSI::Schema::Elements::INFO_BOOL[keyword: 'deprecated'],

    JSI::Schema::Elements::DEFAULT[],

    JSI::Schema::Elements::FORMAT[],

    JSI::Schema::Element.new(keyword: 'externalDocs') { }, # no actions
    JSI::Schema::Element.new(keyword: 'example') { }, # no actions

    # TODO `discriminator`
    # TODO `xml`
  ],
)
DIALECT =
JSI::Schema::Dialect.new(
  vocabularies: [VOCABULARY],
  integer_disallows_0_fraction: true,
)

Method Summary

Methods included from Tags

#named