[Ruby][client] Handle enums (and other scalars) in oneOf and anyOf schemas (#17515)

* Handle enums in oneOf and anyOf schemas

* Update specs
This commit is contained in:
Armand Mégrot
2024-01-05 08:01:08 +01:00
committed by GitHub
parent 5c571b0e1f
commit 07a9257ee9
25 changed files with 578 additions and 10 deletions

View File

@@ -0,0 +1,15 @@
# Petstore::Cow
## Properties
| Name | Type | Description | Notes |
| ---- | ---- | ----------- | ----- |
## Example
```ruby
require 'petstore'
instance = Petstore::Cow.new()
```

View File

@@ -0,0 +1,47 @@
# Petstore::MamalWithEnum
## Class instance methods
### `openapi_one_of`
Returns the list of classes defined in oneOf.
#### Example
```ruby
require 'petstore'
Petstore::MamalWithEnum.openapi_one_of
# =>
# [
# :'Cow'
# ]
```
### build
Find the appropriate object from the `openapi_one_of` list and casts the data into it.
#### Example
```ruby
require 'petstore'
Petstore::MamalWithEnum.build(data)
# => #<Cow:0x00007fdd4aab02a0>
Petstore::MamalWithEnum.build(data_that_doesnt_match)
# => nil
```
#### Parameters
| Name | Type | Description |
| ---- | ---- | ----------- |
| **data** | **Mixed** | data to be matched against the list of oneOf items |
#### Return type
- `Cow`
- `nil` (if no type matches)