mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-18 19:07:06 +00:00
* use double-quote string for enum value (#2081) * use enumVars in templates for Ruby client (#2081) * delete unnecessary line in enum model of Ruby client (#2081) * update samples of Ruby client (#2081)
This commit is contained in:
committed by
William Cheng
parent
5c64b58bae
commit
33a8939bd5
@@ -401,7 +401,7 @@ public class RubyClientCodegen extends AbstractRubyCodegen {
|
||||
if ("Integer".equals(datatype) || "Float".equals(datatype)) {
|
||||
return value;
|
||||
} else {
|
||||
return "'" + escapeText(value) + "'";
|
||||
return "\"" + escapeText(value) + "\"";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -52,8 +52,9 @@ module {{moduleName}}
|
||||
{{#isEnum}}
|
||||
{{^isContainer}}
|
||||
# verify enum value
|
||||
if @api_client.config.client_side_validation && ![{{#allowableValues}}{{#values}}'{{{this}}}'{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}].include?({{{paramName}}})
|
||||
fail ArgumentError, "invalid value for '{{{paramName}}}', must be one of {{#allowableValues}}{{#values}}{{{this}}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}"
|
||||
allowable_values = [{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}]
|
||||
if @api_client.config.client_side_validation && !allowable_values.include?({{{paramName}}})
|
||||
fail ArgumentError, "invalid value for \"{{{paramName}}}\", must be one of #{allowable_values}"
|
||||
end
|
||||
{{/isContainer}}
|
||||
{{/isEnum}}
|
||||
@@ -62,13 +63,15 @@ module {{moduleName}}
|
||||
{{^required}}
|
||||
{{#isEnum}}
|
||||
{{#collectionFormat}}
|
||||
if @api_client.config.client_side_validation && opts[:'{{{paramName}}}'] && !opts[:'{{{paramName}}}'].all? { |item| [{{#allowableValues}}{{#values}}'{{{this}}}'{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}].include?(item) }
|
||||
fail ArgumentError, 'invalid value for "{{{paramName}}}", must include one of {{#allowableValues}}{{#values}}{{{this}}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}'
|
||||
allowable_values = [{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}]
|
||||
if @api_client.config.client_side_validation && opts[:'{{{paramName}}}'] && !opts[:'{{{paramName}}}'].all? { |item| allowable_values.include?(item) }
|
||||
fail ArgumentError, "invalid value for \"{{{paramName}}}\", must include one of #{allowable_values}"
|
||||
end
|
||||
{{/collectionFormat}}
|
||||
{{^collectionFormat}}
|
||||
if @api_client.config.client_side_validation && opts[:'{{{paramName}}}'] && ![{{#allowableValues}}{{#values}}'{{{this}}}'{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}].include?(opts[:'{{{paramName}}}'])
|
||||
fail ArgumentError, 'invalid value for "{{{paramName}}}", must be one of {{#allowableValues}}{{#values}}{{{this}}}{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}'
|
||||
allowable_values = [{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}]
|
||||
if @api_client.config.client_side_validation && opts[:'{{{paramName}}}'] && !allowable_values.include?(opts[:'{{{paramName}}}'])
|
||||
fail ArgumentError, "invalid value for \"{{{paramName}}}\", must be one of #{allowable_values}"
|
||||
end
|
||||
{{/collectionFormat}}
|
||||
{{/isEnum}}
|
||||
|
||||
@@ -31,7 +31,7 @@ describe '{{classname}}' do
|
||||
it 'should work' do
|
||||
{{#isEnum}}
|
||||
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
||||
# validator = Petstore::EnumTest::EnumAttributeValidator.new('{{{dataType}}}', [{{#allowableValues}}{{#values}}"{{{this}}}"{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}])
|
||||
# validator = Petstore::EnumTest::EnumAttributeValidator.new('{{{dataType}}}', [{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}])
|
||||
# validator.allowable_values.each do |value|
|
||||
# expect { @instance.{{name}} = value }.not_to raise_error
|
||||
# end
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class {{classname}}
|
||||
{{#allowableValues}}{{#enumVars}}
|
||||
{{{name}}} = {{{value}}}.freeze{{/enumVars}}{{/allowableValues}}
|
||||
class {{classname}}{{#allowableValues}}{{#enumVars}}
|
||||
{{{name}}} = {{{value}}}.freeze{{/enumVars}}
|
||||
|
||||
{{/allowableValues}}
|
||||
# Builds the enum from string
|
||||
# @param [String] The enum value in the form of the string
|
||||
# @return [String] The enum value
|
||||
|
||||
@@ -207,7 +207,7 @@
|
||||
{{/isNullable}}
|
||||
{{#isEnum}}
|
||||
{{^isContainer}}
|
||||
{{{name}}}_validator = EnumAttributeValidator.new('{{{dataType}}}', [{{#allowableValues}}{{#values}}'{{{this}}}'{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}])
|
||||
{{{name}}}_validator = EnumAttributeValidator.new('{{{dataType}}}', [{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}])
|
||||
return false unless {{{name}}}_validator.valid?(@{{{name}}})
|
||||
{{/isContainer}}
|
||||
{{/isEnum}}
|
||||
@@ -280,7 +280,7 @@
|
||||
# Custom attribute writer method checking allowed values (enum).
|
||||
# @param [Object] {{{name}}} Object to be assigned
|
||||
def {{{name}}}=({{{name}}})
|
||||
validator = EnumAttributeValidator.new('{{{dataType}}}', [{{#allowableValues}}{{#values}}'{{{this}}}'{{^-last}}, {{/-last}}{{/values}}{{/allowableValues}}])
|
||||
validator = EnumAttributeValidator.new('{{{dataType}}}', [{{#allowableValues}}{{#enumVars}}{{{value}}}{{^-last}}, {{/-last}}{{/enumVars}}{{/allowableValues}}])
|
||||
unless validator.valid?({{{name}}})
|
||||
fail ArgumentError, "invalid value for \"{{{name}}}\", must be one of #{validator.allowable_values}."
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user