From 4477009ef80df7f8a10c29b16a358c99b3d66aae Mon Sep 17 00:00:00 2001 From: geekerzp Date: Sat, 29 Aug 2015 16:19:43 +0800 Subject: [PATCH] Handle special characters in parameter names in ruby client --- .../io/swagger/codegen/languages/RubyClientCodegen.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RubyClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RubyClientCodegen.java index 6c6d073e9c9..59b62b0be6a 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RubyClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/RubyClientCodegen.java @@ -196,8 +196,10 @@ public class RubyClientCodegen extends DefaultCodegen implements CodegenConfig { @Override public String toVarName(String name) { - // replace - with _ e.g. created-at => created_at - name = name.replaceAll("-", "_"); + // remove trailing special characters, e.g. "post[created-at]!!" => "post[created-at" + name = name.replaceAll("\\W+\\z", ""); + // replace special characters with _, e.g. "post[created-at" => "post_created_at" + name = name.replaceAll("\\W+", "_"); // if it's all uppper case, convert to lower case if (name.matches("^[A-Z_]*$")) {