From f42f329acedb5fa6ae85d671451d1e4ab2c45e31 Mon Sep 17 00:00:00 2001 From: xhh Date: Wed, 8 Jul 2015 13:10:28 +0800 Subject: [PATCH] Parse "date" as Date in Ruby client --- .../java/io/swagger/codegen/languages/RubyClientCodegen.java | 2 +- .../src/main/resources/ruby/base_object.mustache | 4 ++++ .../src/main/resources/ruby/swagger/response.mustache | 3 +++ .../client/petstore/ruby/lib/petstore/models/base_object.rb | 4 ++++ samples/client/petstore/ruby/lib/petstore/swagger/response.rb | 3 +++ 5 files changed, 15 insertions(+), 1 deletion(-) 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 0ea0be21a787..5aa30a1c9fd3 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 @@ -55,7 +55,7 @@ public class RubyClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("float", "Float"); typeMapping.put("double", "Float"); typeMapping.put("number", "Float"); - typeMapping.put("date", "DateTime"); + typeMapping.put("date", "Date"); typeMapping.put("DateTime", "DateTime"); typeMapping.put("boolean", "BOOLEAN"); typeMapping.put("array", "Array"); diff --git a/modules/swagger-codegen/src/main/resources/ruby/base_object.mustache b/modules/swagger-codegen/src/main/resources/ruby/base_object.mustache index eda92028f789..77b320d07f43 100644 --- a/modules/swagger-codegen/src/main/resources/ruby/base_object.mustache +++ b/modules/swagger-codegen/src/main/resources/ruby/base_object.mustache @@ -1,3 +1,5 @@ +require 'date' + module {{moduleName}} # base class containing fundamental method such as to_hash, build_from_hash and more class BaseObject @@ -26,6 +28,8 @@ module {{moduleName}} case type.to_sym when :DateTime DateTime.parse(value) + when :Date + Date.parse(value) when :String value.to_s when :Integer diff --git a/modules/swagger-codegen/src/main/resources/ruby/swagger/response.mustache b/modules/swagger-codegen/src/main/resources/ruby/swagger/response.mustache index 575bc5d0ae02..8e5b654011f0 100644 --- a/modules/swagger-codegen/src/main/resources/ruby/swagger/response.mustache +++ b/modules/swagger-codegen/src/main/resources/ruby/swagger/response.mustache @@ -62,6 +62,9 @@ module {{moduleName}} when 'DateTime' # parse date time (expecting ISO 8601 format) DateTime.parse data + when 'Date' + # parse date time (expecting ISO 8601 format) + Date.parse data when 'Object' # generic object, return directly data diff --git a/samples/client/petstore/ruby/lib/petstore/models/base_object.rb b/samples/client/petstore/ruby/lib/petstore/models/base_object.rb index 8223b2e844d8..f17eef349e2c 100644 --- a/samples/client/petstore/ruby/lib/petstore/models/base_object.rb +++ b/samples/client/petstore/ruby/lib/petstore/models/base_object.rb @@ -1,3 +1,5 @@ +require 'date' + module Petstore # base class containing fundamental method such as to_hash, build_from_hash and more class BaseObject @@ -26,6 +28,8 @@ module Petstore case type.to_sym when :DateTime DateTime.parse(value) + when :Date + Date.parse(value) when :String value.to_s when :Integer diff --git a/samples/client/petstore/ruby/lib/petstore/swagger/response.rb b/samples/client/petstore/ruby/lib/petstore/swagger/response.rb index 770f04f6e2cb..0f72705f967d 100644 --- a/samples/client/petstore/ruby/lib/petstore/swagger/response.rb +++ b/samples/client/petstore/ruby/lib/petstore/swagger/response.rb @@ -62,6 +62,9 @@ module Petstore when 'DateTime' # parse date time (expecting ISO 8601 format) DateTime.parse data + when 'Date' + # parse date time (expecting ISO 8601 format) + Date.parse data when 'Object' # generic object, return directly data