Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,6 @@ public void processOpts() {
supportingFiles.add(new SupportingFile("README.mustache", "", "README.md"));
supportingFiles.add(new SupportingFile("git_push.sh.mustache", "", "git_push.sh"));
supportingFiles.add(new SupportingFile("gitignore.mustache", "", ".gitignore"));
supportingFiles.add(new SupportingFile("LICENSE", "", "LICENSE"));

// test files should not be overwritten
writeOptional(outputFolder, new SupportingFile("rspec.mustache", "", ".rspec"));
Expand Down
10 changes: 5 additions & 5 deletions modules/swagger-codegen/src/main/resources/ruby/api.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -57,31 +57,31 @@ module {{moduleName}}
{{/required}}
{{#hasValidation}}
{{#maxLength}}
if {{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}}.to_s.length > {{{maxLength}}}
if {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}}.to_s.length > {{{maxLength}}}
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, the character length must be smaller than or equal to {{{maxLength}}}.'
end

{{/maxLength}}
{{#minLength}}
if {{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}}.to_s.length < {{{minLength}}}
if {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}}.to_s.length < {{{minLength}}}
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, the character length must be great than or equal to {{{minLength}}}.'
end

{{/minLength}}
{{#maximum}}
if {{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}} > {{{maximum}}}
if {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}} > {{{maximum}}}
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, must be smaller than or equal to {{{maximum}}}.'
end

{{/maximum}}
{{#minimum}}
if {{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}} < {{{minimum}}}
if {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}} < {{{minimum}}}
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, must be greater than or equal to {{{minimum}}}.'
end

{{/minimum}}
{{#pattern}}
if {{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}} !~ Regexp.new({{{pattern}}})
if {{^required}}!opts[:'{{{paramName}}}'].nil? && {{/required}}{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:'{{{paramName}}}']{{/required}} !~ Regexp.new({{{pattern}}})
fail ArgumentError, 'invalid value for "{{#required}}{{{paramName}}}{{/required}}{{^required}}opts[:"{{{paramName}}}"]{{/required}}" when calling {{classname}}.{{operationId}}, must conform to the pattern {{{pattern}}}.'
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,42 +77,46 @@
# @return Array for valid properies with the reasons
def list_invalid_properties
invalid_properties = Array.new
{{#vars}}
{{#hasValidation}}
{{#required}}
if @{{{name}}}.nil?
fail ArgumentError, "{{{name}}} cannot be nil"
invalid_properties.push("invalid value for '{{{name}}}', {{{name}}} cannot be nil.")
end
{{/required}}

{{#maxLength}}
if @{{{name}}}.to_s.length > {{{maxLength}}}
if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.to_s.length > {{{maxLength}}}
invalid_properties.push("invalid value for '{{{name}}}', the character length must be smaller than or equal to {{{maxLength}}}.")
end

{{/maxLength}}
{{#minLength}}
if @{{{name}}}.to_s.length < {{{minLength}}}
if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.to_s.length < {{{minLength}}}
invalid_properties.push("invalid value for '{{{name}}}', the character length must be great than or equal to {{{minLength}}}.")
end

{{/minLength}}
{{#maximum}}
if @{{{name}}} > {{{maximum}}}
if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} > {{{maximum}}}
invalid_properties.push("invalid value for '{{{name}}}', must be smaller than or equal to {{{maximum}}}.")
end

{{/maximum}}
{{#minimum}}
if @{{{name}}} < {{{minimum}}}
if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} < {{{minimum}}}
invalid_properties.push("invalid value for '{{{name}}}', must be greater than or equal to {{{minimum}}}.")
end

{{/minimum}}
{{#pattern}}
if @{{{name}}} !~ Regexp.new({{{pattern}}})
if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} !~ Regexp.new({{{pattern}}})
invalid_properties.push("invalid value for '{{{name}}}', must conform to the pattern {{{pattern}}}.")
end

{{/pattern}}
{{/hasValidation}}
{{/vars}}
return invalid_properties
end

Expand All @@ -131,19 +135,19 @@
{{/isEnum}}
{{#hasValidation}}
{{#maxLength}}
return false if @{{{name}}}.to_s.length > {{{maxLength}}}
return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.to_s.length > {{{maxLength}}}
{{/maxLength}}
{{#minLength}}
return false if @{{{name}}}.to_s.length < {{{minLength}}}
return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}}.to_s.length < {{{minLength}}}
{{/minLength}}
{{#maximum}}
return false if @{{{name}}} > {{{maximum}}}
return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} > {{{maximum}}}
{{/maximum}}
{{#minimum}}
return false if @{{{name}}} < {{{minimum}}}
return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} < {{{minimum}}}
{{/minimum}}
{{#pattern}}
return false if @{{{name}}} !~ Regexp.new({{{pattern}}})
return false if {{^required}}!@{{{name}}}.nil? && {{/required}}@{{{name}}} !~ Regexp.new({{{pattern}}})
{{/pattern}}
{{/hasValidation}}
{{/vars}}
Expand All @@ -170,36 +174,38 @@
# Custom attribute writer method with validation
# @param [Object] {{{name}}} Value to be assigned
def {{{name}}}=({{{name}}})
{{#required}}
if {{{name}}}.nil?
fail ArgumentError, "{{{name}}} cannot be nil"
end
{{/required}}

{{#maxLength}}
if {{{name}}}.to_s.length > {{{maxLength}}}
if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.to_s.length > {{{maxLength}}}
fail ArgumentError, "invalid value for '{{{name}}}', the character length must be smaller than or equal to {{{maxLength}}}."
end

{{/maxLength}}
{{#minLength}}
if {{{name}}}.to_s.length < {{{minLength}}}
if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}}.to_s.length < {{{minLength}}}
fail ArgumentError, "invalid value for '{{{name}}}', the character length must be great than or equal to {{{minLength}}}."
end

{{/minLength}}
{{#maximum}}
if {{{name}}} > {{{maximum}}}
if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}} > {{{maximum}}}
fail ArgumentError, "invalid value for '{{{name}}}', must be smaller than or equal to {{{maximum}}}."
end

{{/maximum}}
{{#minimum}}
if {{{name}}} < {{{minimum}}}
if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}} < {{{minimum}}}
fail ArgumentError, "invalid value for '{{{name}}}', must be greater than or equal to {{{minimum}}}."
end

{{/minimum}}
{{#pattern}}
if @{{{name}}} !~ Regexp.new({{{pattern}}})
if {{^required}}!{{{name}}}.nil? && {{/required}}{{{name}}} !~ Regexp.new({{{pattern}}})
fail ArgumentError, "invalid value for '{{{name}}}', must conform to the pattern {{{pattern}}}."
end

Expand Down
2 changes: 1 addition & 1 deletion samples/client/petstore/ruby/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This SDK is automatically generated by the [Swagger Codegen](https://github.com/

- API version: 1.0.0
- Package version: 1.0.0
- Build date: 2016-07-26T14:38:12.507+08:00
- Build date: 2016-08-01T16:37:23.828+08:00
- Build package: class io.swagger.codegen.languages.RubyClientCodegen

## Installation
Expand Down
14 changes: 7 additions & 7 deletions samples/client/petstore/ruby/lib/petstore/api/fake_api.rb
Original file line number Diff line number Diff line change
Expand Up @@ -157,31 +157,31 @@ def test_endpoint_parameters_with_http_info(number, double, string, byte, opts =

# verify the required parameter 'byte' is set
fail ArgumentError, "Missing the required parameter 'byte' when calling FakeApi.test_endpoint_parameters" if byte.nil?
if opts[:'integer'] > 100.0
if !opts[:'integer'].nil? && opts[:'integer'] > 100.0
fail ArgumentError, 'invalid value for "opts[:"integer"]" when calling FakeApi.test_endpoint_parameters, must be smaller than or equal to 100.0.'
end

if opts[:'integer'] < 10.0
if !opts[:'integer'].nil? && opts[:'integer'] < 10.0
fail ArgumentError, 'invalid value for "opts[:"integer"]" when calling FakeApi.test_endpoint_parameters, must be greater than or equal to 10.0.'
end

if opts[:'int32'] > 200.0
if !opts[:'int32'].nil? && opts[:'int32'] > 200.0
fail ArgumentError, 'invalid value for "opts[:"int32"]" when calling FakeApi.test_endpoint_parameters, must be smaller than or equal to 200.0.'
end

if opts[:'int32'] < 20.0
if !opts[:'int32'].nil? && opts[:'int32'] < 20.0
fail ArgumentError, 'invalid value for "opts[:"int32"]" when calling FakeApi.test_endpoint_parameters, must be greater than or equal to 20.0.'
end

if opts[:'float'] > 987.6
if !opts[:'float'].nil? && opts[:'float'] > 987.6
fail ArgumentError, 'invalid value for "opts[:"float"]" when calling FakeApi.test_endpoint_parameters, must be smaller than or equal to 987.6.'
end

if opts[:'password'].to_s.length > 64
if !opts[:'password'].nil? && opts[:'password'].to_s.length > 64
fail ArgumentError, 'invalid value for "opts[:"password"]" when calling FakeApi.test_endpoint_parameters, the character length must be smaller than or equal to 64.'
end

if opts[:'password'].to_s.length < 10
if !opts[:'password'].nil? && opts[:'password'].to_s.length < 10
fail ArgumentError, 'invalid value for "opts[:"password"]" when calling FakeApi.test_endpoint_parameters, the character length must be great than or equal to 10.'
end

Expand Down
116 changes: 83 additions & 33 deletions samples/client/petstore/ruby/lib/petstore/models/format_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -157,24 +157,89 @@ def initialize(attributes = {})
# @return Array for valid properies with the reasons
def list_invalid_properties
invalid_properties = Array.new

if !@integer.nil? && @integer > 100.0
invalid_properties.push("invalid value for 'integer', must be smaller than or equal to 100.0.")
end

if !@integer.nil? && @integer < 10.0
invalid_properties.push("invalid value for 'integer', must be greater than or equal to 10.0.")
end


if !@int32.nil? && @int32 > 200.0
invalid_properties.push("invalid value for 'int32', must be smaller than or equal to 200.0.")
end

if !@int32.nil? && @int32 < 20.0
invalid_properties.push("invalid value for 'int32', must be greater than or equal to 20.0.")
end

if @number.nil?
invalid_properties.push("invalid value for 'number', number cannot be nil.")
end

if @number > 543.2
invalid_properties.push("invalid value for 'number', must be smaller than or equal to 543.2.")
end

if @number < 32.1
invalid_properties.push("invalid value for 'number', must be greater than or equal to 32.1.")
end


if !@float.nil? && @float > 987.6
invalid_properties.push("invalid value for 'float', must be smaller than or equal to 987.6.")
end

if !@float.nil? && @float < 54.3
invalid_properties.push("invalid value for 'float', must be greater than or equal to 54.3.")
end


if !@double.nil? && @double > 123.4
invalid_properties.push("invalid value for 'double', must be smaller than or equal to 123.4.")
end

if !@double.nil? && @double < 67.8
invalid_properties.push("invalid value for 'double', must be greater than or equal to 67.8.")
end


if !@string.nil? && @string !~ Regexp.new(/[a-z]/i)
invalid_properties.push("invalid value for 'string', must conform to the pattern /[a-z]/i.")
end

if @password.nil?
invalid_properties.push("invalid value for 'password', password cannot be nil.")
end

if @password.to_s.length > 64
invalid_properties.push("invalid value for 'password', the character length must be smaller than or equal to 64.")
end

if @password.to_s.length < 10
invalid_properties.push("invalid value for 'password', the character length must be great than or equal to 10.")
end

return invalid_properties
end

# Check to see if the all the properties in the model are valid
# @return true if the model is valid
def valid?
return false if @integer > 100.0
return false if @integer < 10.0
return false if @int32 > 200.0
return false if @int32 < 20.0
return false if !@integer.nil? && @integer > 100.0
return false if !@integer.nil? && @integer < 10.0
return false if !@int32.nil? && @int32 > 200.0
return false if !@int32.nil? && @int32 < 20.0
return false if @number.nil?
return false if @number > 543.2
return false if @number < 32.1
return false if @float > 987.6
return false if @float < 54.3
return false if @double > 123.4
return false if @double < 67.8
return false if @string !~ Regexp.new(/[a-z]/i)
return false if !@float.nil? && @float > 987.6
return false if !@float.nil? && @float < 54.3
return false if !@double.nil? && @double > 123.4
return false if !@double.nil? && @double < 67.8
return false if !@string.nil? && @string !~ Regexp.new(/[a-z]/i)
return false if @byte.nil?
return false if @date.nil?
return false if @password.nil?
Expand All @@ -186,15 +251,12 @@ def valid?
# Custom attribute writer method with validation
# @param [Object] integer Value to be assigned
def integer=(integer)
if integer.nil?
fail ArgumentError, "integer cannot be nil"
end

if integer > 100.0
if !integer.nil? && integer > 100.0
fail ArgumentError, "invalid value for 'integer', must be smaller than or equal to 100.0."
end

if integer < 10.0
if !integer.nil? && integer < 10.0
fail ArgumentError, "invalid value for 'integer', must be greater than or equal to 10.0."
end

Expand All @@ -204,15 +266,12 @@ def integer=(integer)
# Custom attribute writer method with validation
# @param [Object] int32 Value to be assigned
def int32=(int32)
if int32.nil?
fail ArgumentError, "int32 cannot be nil"
end

if int32 > 200.0
if !int32.nil? && int32 > 200.0
fail ArgumentError, "invalid value for 'int32', must be smaller than or equal to 200.0."
end

if int32 < 20.0
if !int32.nil? && int32 < 20.0
fail ArgumentError, "invalid value for 'int32', must be greater than or equal to 20.0."
end

Expand Down Expand Up @@ -240,15 +299,12 @@ def number=(number)
# Custom attribute writer method with validation
# @param [Object] float Value to be assigned
def float=(float)
if float.nil?
fail ArgumentError, "float cannot be nil"
end

if float > 987.6
if !float.nil? && float > 987.6
fail ArgumentError, "invalid value for 'float', must be smaller than or equal to 987.6."
end

if float < 54.3
if !float.nil? && float < 54.3
fail ArgumentError, "invalid value for 'float', must be greater than or equal to 54.3."
end

Expand All @@ -258,15 +314,12 @@ def float=(float)
# Custom attribute writer method with validation
# @param [Object] double Value to be assigned
def double=(double)
if double.nil?
fail ArgumentError, "double cannot be nil"
end

if double > 123.4
if !double.nil? && double > 123.4
fail ArgumentError, "invalid value for 'double', must be smaller than or equal to 123.4."
end

if double < 67.8
if !double.nil? && double < 67.8
fail ArgumentError, "invalid value for 'double', must be greater than or equal to 67.8."
end

Expand All @@ -276,11 +329,8 @@ def double=(double)
# Custom attribute writer method with validation
# @param [Object] string Value to be assigned
def string=(string)
if string.nil?
fail ArgumentError, "string cannot be nil"
end

if @string !~ Regexp.new(/[a-z]/i)
if !string.nil? && string !~ Regexp.new(/[a-z]/i)
fail ArgumentError, "invalid value for 'string', must conform to the pattern /[a-z]/i."
end

Expand Down