forked from loafle/openapi-generator-original
[ruby|client] Fix unmarshalling errors of enums inside other objects (#16900)
* [ruby|client] Fix unmarshalling errors of enums inside other objects
Ruby|Client autogenerated model classes for Enums do not expose openapi_one_of
method. Instead they expose openapi_any_of method like:
# List of class defined in anyOf (OpenAPI v3)
def openapi_any_of
[
:String
]
end
Both types (objects and enums) do respond to build() method.
* Regenerate samples
This commit is contained in:
@@ -168,7 +168,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -213,7 +213,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -262,7 +262,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -257,7 +257,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -194,7 +194,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ module OpenapiClient
|
||||
else # model
|
||||
# models (e.g. Pet) or oneOf
|
||||
klass = OpenapiClient.const_get(type)
|
||||
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user