From 7f9903d27310522ee41e14f3c4c1d7b5a0d336e3 Mon Sep 17 00:00:00 2001 From: Renaud Amar Date: Wed, 25 Oct 2017 10:47:38 -0600 Subject: [PATCH 1/2] Modify build_from_hash to compare value against enum's value rather than const name --- .../src/main/resources/ruby/partial_model_enum_class.mustache | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/ruby/partial_model_enum_class.mustache b/modules/swagger-codegen/src/main/resources/ruby/partial_model_enum_class.mustache index 34df546ac86..f2f366900ef 100644 --- a/modules/swagger-codegen/src/main/resources/ruby/partial_model_enum_class.mustache +++ b/modules/swagger-codegen/src/main/resources/ruby/partial_model_enum_class.mustache @@ -6,8 +6,8 @@ # @param [String] The enum value in the form of the string # @return [String] The enum value def build_from_hash(value) - consantValues = {{classname}}.constants.select{|c| c.to_s == value} - raise "Invalid ENUM value #{value} for class #{{{classname}}}" if consantValues.empty? + constantValues = {{classname}}.constants.select{|c| {{classname}}::const_get(c) == value} + raise "Invalid ENUM value #{value} for class #{{{classname}}}" if constantValues.empty? value end end From 2aa7ebcf275cb9b5cb88a523d6234dd954186f4d Mon Sep 17 00:00:00 2001 From: Renaud Amar Date: Wed, 25 Oct 2017 10:48:02 -0600 Subject: [PATCH 2/2] Updated Petstore sample --- .../client/petstore/ruby/lib/petstore/models/enum_class.rb | 4 ++-- .../client/petstore/ruby/lib/petstore/models/outer_enum.rb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb b/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb index 977a572e91c..28ba3616969 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/enum_class.rb @@ -23,8 +23,8 @@ class EnumClass # @param [String] The enum value in the form of the string # @return [String] The enum value def build_from_hash(value) - consantValues = EnumClass.constants.select{|c| c.to_s == value} - raise "Invalid ENUM value #{value} for class #EnumClass" if consantValues.empty? + constantValues = EnumClass.constants.select{|c| EnumClass::const_get(c) == value} + raise "Invalid ENUM value #{value} for class #EnumClass" if constantValues.empty? value end end diff --git a/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb b/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb index 713498c0aaa..b116798f7fe 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/outer_enum.rb @@ -23,8 +23,8 @@ class OuterEnum # @param [String] The enum value in the form of the string # @return [String] The enum value def build_from_hash(value) - consantValues = OuterEnum.constants.select{|c| c.to_s == value} - raise "Invalid ENUM value #{value} for class #OuterEnum" if consantValues.empty? + constantValues = OuterEnum.constants.select{|c| OuterEnum::const_get(c) == value} + raise "Invalid ENUM value #{value} for class #OuterEnum" if constantValues.empty? value end end