From 23bc2aaf6b95bce55e5c3264065e2597eab2ea00 Mon Sep 17 00:00:00 2001 From: Jacob Burroughs Date: Sat, 27 Mar 2021 00:42:48 -0500 Subject: [PATCH] Enable useOneOfInterfaces for the ruby generator (#8061) Tested against https://ftc-events.firstinspires.org/swagger/v2.0/swagger.json Used to generate un-runnable code, now it works --- .../src/main/java/org/openapitools/codegen/DefaultCodegen.java | 2 ++ .../org/openapitools/codegen/languages/RubyClientCodegen.java | 1 + 2 files changed, 3 insertions(+) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 57e2605edce3..0a908ec06ba8 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -622,6 +622,7 @@ public class DefaultCodegen implements CodegenConfig { * * @param objs Map of models * @return maps of models with better enum support + * */ public Map postProcessModelsEnum(Map objs) { List models = (List) objs.get("models"); @@ -6473,6 +6474,7 @@ public class DefaultCodegen implements CodegenConfig { cm.classname = type; cm.vendorExtensions.put("x-is-one-of-interface", true); cm.interfaceModels = new ArrayList(); + cm.classFilename = toModelFilename(type); addOneOfInterfaces.add(cm); } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java index 83b020f7b8ce..49fa4c4e4f91 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/RubyClientCodegen.java @@ -92,6 +92,7 @@ public class RubyClientCodegen extends AbstractRubyCodegen { ); supportsInheritance = true; + useOneOfInterfaces = true; // clear import mapping (from default generator) as ruby does not use it // at the moment