diff --git a/modules/openapi-generator/src/main/resources/ruby-client/partial_anyof_module.mustache b/modules/openapi-generator/src/main/resources/ruby-client/partial_anyof_module.mustache index f979fdd3100e..040a52199e00 100644 --- a/modules/openapi-generator/src/main/resources/ruby-client/partial_anyof_module.mustache +++ b/modules/openapi-generator/src/main/resources/ruby-client/partial_anyof_module.mustache @@ -29,8 +29,7 @@ openapi_any_of.each do |klass| begin next if klass == :AnyType # "nullable: true" - typed_data = find_and_cast_into_type(klass, data) - return typed_data if typed_data + return find_and_cast_into_type(klass, data) rescue # rescue all errors so we keep iterating even if the current item lookup raises end end diff --git a/modules/openapi-generator/src/main/resources/ruby-client/partial_oneof_module.mustache b/modules/openapi-generator/src/main/resources/ruby-client/partial_oneof_module.mustache index 8dd7b381d2bd..04fa0d311024 100644 --- a/modules/openapi-generator/src/main/resources/ruby-client/partial_oneof_module.mustache +++ b/modules/openapi-generator/src/main/resources/ruby-client/partial_oneof_module.mustache @@ -69,8 +69,7 @@ openapi_one_of.each do |klass| begin next if klass == :AnyType # "nullable: true" - typed_data = find_and_cast_into_type(klass, data) - return typed_data if typed_data + return find_and_cast_into_type(klass, data) rescue # rescue all errors so we keep iterating even if the current item lookup raises end end diff --git a/modules/openapi-generator/src/test/resources/3_0/ruby/petstore-with-fake-endpoints-models-for-testing.yaml b/modules/openapi-generator/src/test/resources/3_0/ruby/petstore-with-fake-endpoints-models-for-testing.yaml index 9cdb45fcd65d..064862059da5 100644 --- a/modules/openapi-generator/src/test/resources/3_0/ruby/petstore-with-fake-endpoints-models-for-testing.yaml +++ b/modules/openapi-generator/src/test/resources/3_0/ruby/petstore-with-fake-endpoints-models-for-testing.yaml @@ -2162,3 +2162,33 @@ components: type: string type_: type: string + OneOfPrimitiveTypes: + oneOf: + - type: string + - type: number + - type: integer + - type: boolean + - type: string + format: date + - type: string + format: date-time + - type: array + items: + type: string + - type: array + items: + type: number + - type: array + items: + type: integer + - type: array + items: + type: boolean + - type: array + items: + type: string + format: date + - type: array + items: + type: string + format: date-time diff --git a/samples/client/petstore/ruby-httpx/.openapi-generator/FILES b/samples/client/petstore/ruby-httpx/.openapi-generator/FILES index 7bc5bf3b003e..fa488c13b2d9 100644 --- a/samples/client/petstore/ruby-httpx/.openapi-generator/FILES +++ b/samples/client/petstore/ruby-httpx/.openapi-generator/FILES @@ -48,6 +48,7 @@ docs/Name.md docs/NullableClass.md docs/NumberOnly.md docs/ObjectWithDeprecatedFields.md +docs/OneOfPrimitiveTypes.md docs/Order.md docs/OuterComposite.md docs/OuterEnum.md @@ -118,6 +119,7 @@ lib/petstore/models/name.rb lib/petstore/models/nullable_class.rb lib/petstore/models/number_only.rb lib/petstore/models/object_with_deprecated_fields.rb +lib/petstore/models/one_of_primitive_types.rb lib/petstore/models/order.rb lib/petstore/models/outer_composite.rb lib/petstore/models/outer_enum.rb diff --git a/samples/client/petstore/ruby-httpx/README.md b/samples/client/petstore/ruby-httpx/README.md index 3805aba77108..587ccdfcb967 100644 --- a/samples/client/petstore/ruby-httpx/README.md +++ b/samples/client/petstore/ruby-httpx/README.md @@ -164,6 +164,7 @@ Class | Method | HTTP request | Description - [Petstore::NullableClass](docs/NullableClass.md) - [Petstore::NumberOnly](docs/NumberOnly.md) - [Petstore::ObjectWithDeprecatedFields](docs/ObjectWithDeprecatedFields.md) + - [Petstore::OneOfPrimitiveTypes](docs/OneOfPrimitiveTypes.md) - [Petstore::Order](docs/Order.md) - [Petstore::OuterComposite](docs/OuterComposite.md) - [Petstore::OuterEnum](docs/OuterEnum.md) diff --git a/samples/client/petstore/ruby-httpx/docs/OneOfPrimitiveTypes.md b/samples/client/petstore/ruby-httpx/docs/OneOfPrimitiveTypes.md new file mode 100644 index 000000000000..9023811f8f1c --- /dev/null +++ b/samples/client/petstore/ruby-httpx/docs/OneOfPrimitiveTypes.md @@ -0,0 +1,69 @@ +# Petstore::OneOfPrimitiveTypes + +## Class instance methods + +### `openapi_one_of` + +Returns the list of classes defined in oneOf. + +#### Example + +```ruby +require 'petstore' + +Petstore::OneOfPrimitiveTypes.openapi_one_of +# => +# [ +# :'Array', +# :'Array', +# :'Array', +# :'Array', +# :'Array', +# :'Array