Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
d60b2f3
OpenAPI::Document::V3Methods #server don't return nil
notEthan Jun 2, 2026
e66b6a1
OpenAPI Document / Operation / Request #base_url don't return nil; ra…
notEthan Jun 3, 2026
afe5d3c
OpenAPI::Document::Configurables #base_url setter and stub getter com…
notEthan Apr 13, 2026
ea38dac
doc Request::Configurables #base_url
notEthan Apr 13, 2026
5d94623
Request mv #url to Configurables
notEthan Jun 5, 2026
988b3b4
Request::Configurables attr_writer url, for doc consistency and becau…
notEthan Jun 5, 2026
14e4d49
doc Request::Configurables #url
notEthan Jun 5, 2026
5663bb1
Request::Configurables attr_writer body_object, for doc consistency
notEthan Jun 5, 2026
38e957a
rm OpenAPI::Document::V3Methods::Configurables#scheme, OpenAPI::Docum…
notEthan Jun 1, 2026
a8a3468
rm OpenAPI::Document::V*::Configurables, OpenAPI::Operation::V*::Conf…
notEthan Jun 2, 2026
3ba9f22
doc OpenAPI::Document::Configurables, OpenAPI::Operation::Configurabl…
notEthan Jun 5, 2026
bb535a3
doc OpenAPI::Document, OpenAPI::Operation @private methods overriding…
notEthan Jun 5, 2026
f658d58
doc Request::Configurables #scheme #server #server_variables types
notEthan Apr 13, 2026
e45b67f
doc Request::Configurables #scheme #server #server_variables description
notEthan Jun 2, 2026
fb3d7dd
doc Request::Configurables #path_params #query_params #body #body_obj…
notEthan Jun 5, 2026
9e3c4e8
doc modules OpenAPI::Document::Configurables, OpenAPI::Operation::Con…
notEthan Jun 5, 2026
6f2994b
pages/Request_Configuration Configurables modules
notEthan Jun 6, 2026
2adb495
add OpenAPI V3.2 document schema files from source
notEthan Mar 16, 2026
8ba5436
update OpenAPI V3.2 document schema files from https://spec.openapis.…
notEthan Mar 16, 2026
22de64d
init OpenAPI::V3_2
notEthan Mar 16, 2026
24f0493
OpenAPI::V3_2::Document
notEthan Mar 16, 2026
8877692
OpenAPI::V3_2::Unscoped::Document
notEthan Mar 16, 2026
e094a58
OpenAPI::V3_2.set_up_document_schema_module + .document_name_subschemas
notEthan Mar 16, 2026
3f80631
OpenAPI::V3_2.set_up_document_schema_module name SpecificationExtension
notEthan Mar 16, 2026
e956ddb
OpenAPI::V3_2.set_up_document_schema_module rm names of *OrReference …
notEthan Mar 16, 2026
a1dea60
OpenAPI::V3_2 document_schema_modules_by_dialect_id
notEthan Mar 16, 2026
c48051f
OpenAPI::V3_2.document_schema_module_by_dialect_id
notEthan Mar 16, 2026
b0e070a
OpenAPI::V3_2::Ext (OpenAPI extension schema dialect) with schema mod…
notEthan Mar 16, 2026
c96c453
OpenAPI::V3_2::Ext::VOCAB register
notEthan Mar 16, 2026
b5c684c
OAS3.2 schema documents: comment note corresponding schema module names
notEthan Mar 16, 2026
ceb0e60
OpenAPI::V3_2 document_schema_modules_by_dialect_id + Ext::ExtDocument
notEthan Mar 16, 2026
2e767a3
OpenAPI::V3_2::Ext::Document + .set_up_document_schema_module + .docu…
notEthan Mar 16, 2026
33f9fe3
OpenAPI::V3_2.new_document to instantiate according to jsonSchemaDialect
notEthan Mar 16, 2026
fc19e44
OpenAPI::Document.from_instance + v3.2 with Scorpio::OpenAPI::V3_2.ne…
notEthan Mar 16, 2026
c5e477a
test/blog.openapi3_2.yml (same as 3.1)
notEthan Mar 16, 2026
7f0ba4f
test blog with error response
notEthan Mar 18, 2026
f7c97a1
test blog models with wildcard response media type + v3.2
notEthan Mar 20, 2026
ec9a26d
test with openapi 3.2
notEthan Mar 16, 2026
605f8c9
OpenAPI::V3_2::JSONSchemaDraft202012::Document + .document_name_subsc…
notEthan Mar 16, 2026
518b57f
OpenAPI::V3_2::Ext::JSONSchemaDraft202012
notEthan Mar 16, 2026
6d6b56e
OpenAPI::Response + v3.2
notEthan Mar 18, 2026
31159f6
README OpenAPI v3.2
notEthan Mar 30, 2026
45aa20e
tests reset JSI.registry for each case
notEthan Mar 16, 2026
7eeea88
init test/openapi_document_test
notEthan Mar 16, 2026
b201e8d
OpenAPI v3.2 $self is a resource URI
notEthan Mar 16, 2026
2aacde1
test OpenAPI::Document v3.2 base URI, $self with Appendix F examples
notEthan Mar 16, 2026
94296a5
OpenAPI::Server#expanded_url resolve relative server url from OAD bas…
notEthan Apr 19, 2025
df78a9f
test OpenAPI::Server#expanded_url with document base_uri
notEthan Apr 20, 2025
104f0d8
Request configurable querystring
notEthan Jan 6, 2026
c59c82d
Request param in querystring
notEthan Mar 17, 2026
d2a0574
test request with querystring, query param
notEthan Mar 17, 2026
358fa90
OpenAPI::Tag#parent_tag, #child_tags
notEthan Mar 19, 2026
7630c61
OpenAPI::Tag#each_descendent_tag_operation
notEthan Mar 19, 2026
8fa8e0b
OpenAPI::Tags#with_kind
notEthan Mar 19, 2026
6bb324e
OpenAPI::Document#operations include additionalOperations; OpenAPI::O…
notEthan Mar 19, 2026
2cd858c
OpenAPI::Document.document_schema_module_with_meta deduplicate V3_1, …
notEthan Mar 29, 2026
2812e36
OpenAPI::V3_1, V3_2 refactor document_schema_modules_by_dialect_id, u…
notEthan Mar 29, 2026
9dd1639
rm OpenAPI::V3_1, V3_2 document_schema_module_by_dialect_id; just use…
notEthan Mar 29, 2026
aac881c
OpenAPI::Operation#path_template_str raises, doesn't return nil, if u…
notEthan May 19, 2026
90cbbef
OpenAPI::Operation#response_schema m refactor
notEthan Mar 27, 2026
f705d4b
ResourceBase::Container .inspect .to_s
notEthan Apr 25, 2023
8f0e0f9
ResourceBase::Container .inspect show schemas
notEthan Feb 22, 2026
28ec05e
test ResourceBase::Container to_s/inspect
notEthan Jun 6, 2026
6a51cf7
pages/Security link to OAS
notEthan May 23, 2026
273404e
Request#initialize don't stringify_symbol_keys (configurables and par…
notEthan Jun 2, 2026
f174a38
Document::Configurables #faraday_adapter rm unneeded array
notEthan Jun 5, 2026
c17a83d
Merge branches 'oa32', 'configurables' and 'dev700' into HEAD
notEthan Jun 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ Note: The canonical location of this README is on [RubyDoc](https://rubydoc.info

### OpenAPI specification and OpenAPI documents

To start with, you need an OpenAPI document (an OAD) describing a service you will be consuming. OpenAPI Specification v3.1, v3.0, and v2 (formerly known as Swagger) are supported. An OAD can be written by hand or sometimes generated from other existing sources. The creation of an OpenAPI document describing a given service is outside the scope of Scorpio. Here are several resources on OpenAPI:
To start with, you need an OpenAPI document (an OAD) describing a service you will be consuming. OpenAPI Specification v3.2, v3.1, v3.0, and v2 (formerly known as Swagger) are supported. An OAD can be written by hand or sometimes generated from other existing sources. The creation of an OpenAPI document describing a given service is outside the scope of Scorpio. Here are several resources on OpenAPI:

- [Learn about OpenAPI](https://learn.openapis.org/)
- [OpenAPI Specification at Wikipedia](https://en.wikipedia.org/wiki/OpenAPI_Specification)
- OpenAPI Specifications [v3.1](https://spec.openapis.org/oas/v3.1.html), [v3.0](https://spec.openapis.org/oas/v3.0.html), [v2.0](https://spec.openapis.org/oas/v2.0.html)
- OpenAPI Specifications [v3.2](https://spec.openapis.org/oas/v3.2.html), [v3.1](https://spec.openapis.org/oas/v3.1.html), [v3.0](https://spec.openapis.org/oas/v3.0.html), [v2.0](https://spec.openapis.org/oas/v2.0.html)
- [OpenAPI Specification development on GitHub](https://github.com/OAI/OpenAPI-Specification)

### JSON Schema, JSI
Expand Down
1 change: 1 addition & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ task 'test:each_format' do
openapi2
openapi3_0
openapi3_1
openapi3_2
)

require 'term/ansicolor'
Expand Down
22 changes: 22 additions & 0 deletions documents/spec.openapis.org/oas/3.2/dialect.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Scorpio::OpenAPI::V3_2::Ext::MetaSchema
$id: https://spec.openapis.org/oas/3.2/dialect/2025-09-17
$schema: https://json-schema.org/draft/2020-12/schema

title: OpenAPI 3.2 Schema Object Dialect
description: A JSON Schema dialect describing schemas found in OpenAPI v3.2.x Descriptions

$dynamicAnchor: meta

$vocabulary:
https://json-schema.org/draft/2020-12/vocab/applicator: true
https://json-schema.org/draft/2020-12/vocab/content: true
https://json-schema.org/draft/2020-12/vocab/core: true
https://json-schema.org/draft/2020-12/vocab/format-annotation: true
https://json-schema.org/draft/2020-12/vocab/meta-data: true
https://json-schema.org/draft/2020-12/vocab/unevaluated: true
https://json-schema.org/draft/2020-12/vocab/validation: true
https://spec.openapis.org/oas/3.2/vocab/base: false

allOf:
- $ref: https://json-schema.org/draft/2020-12/schema
- $ref: https://spec.openapis.org/oas/3.2/meta/2025-09-17
89 changes: 89 additions & 0 deletions documents/spec.openapis.org/oas/3.2/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# Scorpio::OpenAPI::V3_2::Ext::VocabSchema
$id: https://spec.openapis.org/oas/3.2/meta/2025-09-17
$schema: https://json-schema.org/draft/2020-12/schema

title: OAS Base Vocabulary
description: A JSON Schema Vocabulary used in the OpenAPI JSON Schema Dialect

$dynamicAnchor: meta

$vocabulary:
https://spec.openapis.org/oas/3.2/vocab/base: true

type:
- object
- boolean
properties:
discriminator:
$ref: '#/$defs/discriminator'
example:
deprecated: true
externalDocs:
$ref: '#/$defs/external-docs'
xml:
$ref: '#/$defs/xml'

$defs:
discriminator:
$ref: '#/$defs/extensible'
properties:
mapping:
additionalProperties:
type: string
type: object
defaultMapping:
type: string
propertyName:
type: string
required:
- propertyName
type: object
unevaluatedProperties: false

extensible:
patternProperties:
^x-: true
external-docs:
$ref: '#/$defs/extensible'
properties:
description:
type: string
url:
format: uri-reference
type: string
required:
- url
type: object
unevaluatedProperties: false

xml:
$ref: '#/$defs/extensible'
properties:
nodeType:
type: string
enum:
- element
- attribute
- text
- cdata
- none
name:
type: string
namespace:
format: iri
type: string
prefix:
type: string
attribute:
type: boolean
deprecated: true
wrapped:
type: boolean
deprecated: true
type: object
dependentSchemas:
nodeType:
properties:
attribute: false
wrapped: false
unevaluatedProperties: false
21 changes: 21 additions & 0 deletions documents/spec.openapis.org/oas/3.2/schema-base.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Scorpio::OpenAPI::V3_2::Ext::ExtDocument
$id: 'https://spec.openapis.org/oas/3.2/schema-base/2025-11-23'
$schema: 'https://json-schema.org/draft/2020-12/schema'

description: The description of OpenAPI v3.2.x Documents using the OpenAPI JSON Schema dialect

$ref: 'https://spec.openapis.org/oas/3.2/schema/2025-11-23'
properties:
jsonSchemaDialect:
$ref: '#/$defs/dialect'

$defs:
dialect:
const: 'https://spec.openapis.org/oas/3.2/dialect/2025-09-17'

schema:
$dynamicAnchor: meta
$ref: 'https://spec.openapis.org/oas/3.2/dialect/2025-09-17'
properties:
$schema:
$ref: '#/$defs/dialect'
Loading