forked from loafle/openapi-generator-original
fix java okhttp (array of enum property)
This commit is contained in:
parent
25fa3e86f9
commit
1fde95f997
1
.gitignore
vendored
1
.gitignore
vendored
@ -56,6 +56,7 @@ samples/client/petstore/qt5cpp/PetStore/Makefile
|
|||||||
#Java/Android
|
#Java/Android
|
||||||
**/.gradle
|
**/.gradle
|
||||||
samples/client/petstore/java/hello.txt
|
samples/client/petstore/java/hello.txt
|
||||||
|
samples/client/petstore/java/okhttp-gson/hello.txt
|
||||||
samples/client/petstore/java/jersey2-java8/hello.txt
|
samples/client/petstore/java/jersey2-java8/hello.txt
|
||||||
samples/client/petstore/android/default/hello.txt
|
samples/client/petstore/android/default/hello.txt
|
||||||
samples/client/petstore/android/volley/.gradle/
|
samples/client/petstore/android/volley/.gradle/
|
||||||
|
@ -1695,7 +1695,7 @@ public class DefaultCodegen {
|
|||||||
|
|
||||||
// set default value for variable with inner enum
|
// set default value for variable with inner enum
|
||||||
if (property.defaultValue != null) {
|
if (property.defaultValue != null) {
|
||||||
property.defaultValue = property.defaultValue.replace(property.items.baseType, toEnumName(property.items));
|
property.defaultValue = property.defaultValue.replace(baseItem.baseType, toEnumName(baseItem));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1158,15 +1158,16 @@ definitions:
|
|||||||
enum:
|
enum:
|
||||||
- fish
|
- fish
|
||||||
- crab
|
- crab
|
||||||
array_array_enum:
|
# comment out the following as 2d array of enum is not supported at the moment
|
||||||
type: array
|
#array_array_enum:
|
||||||
items:
|
# type: array
|
||||||
type: array
|
# items:
|
||||||
items:
|
# type: array
|
||||||
type: string
|
# items:
|
||||||
enum:
|
# type: string
|
||||||
- Cat
|
# enum:
|
||||||
- Dog
|
# - Cat
|
||||||
|
# - Dog
|
||||||
externalDocs:
|
externalDocs:
|
||||||
description: Find out more about Swagger
|
description: Find out more about Swagger
|
||||||
url: 'http://swagger.io'
|
url: 'http://swagger.io'
|
||||||
|
27
samples/client/petstore/java/okhttp-gson/docs/EnumArrays.md
Normal file
27
samples/client/petstore/java/okhttp-gson/docs/EnumArrays.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
# EnumArrays
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
**justEnum** | [**JustEnumEnum**](#JustEnumEnum) | | [optional]
|
||||||
|
**arrayEnum** | [**List<ArrayEnumEnum>**](#List<ArrayEnumEnum>) | | [optional]
|
||||||
|
|
||||||
|
|
||||||
|
<a name="JustEnumEnum"></a>
|
||||||
|
## Enum: JustEnumEnum
|
||||||
|
Name | Value
|
||||||
|
---- | -----
|
||||||
|
BIRD | "bird"
|
||||||
|
EAGLE | "eagle"
|
||||||
|
|
||||||
|
|
||||||
|
<a name="List<ArrayEnumEnum>"></a>
|
||||||
|
## Enum: List<ArrayEnumEnum>
|
||||||
|
Name | Value
|
||||||
|
---- | -----
|
||||||
|
FISH | "fish"
|
||||||
|
CRAB | "crab"
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,173 @@
|
|||||||
|
/**
|
||||||
|
* Swagger Petstore
|
||||||
|
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
*
|
||||||
|
* OpenAPI spec version: 1.0.0
|
||||||
|
* Contact: apiteam@swagger.io
|
||||||
|
*
|
||||||
|
* NOTE: This class is auto generated by the swagger code generator program.
|
||||||
|
* https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
* Do not edit the class manually.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
package io.swagger.client.model;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EnumArrays
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class EnumArrays {
|
||||||
|
/**
|
||||||
|
* Gets or Sets justEnum
|
||||||
|
*/
|
||||||
|
public enum JustEnumEnum {
|
||||||
|
@SerializedName("bird")
|
||||||
|
BIRD("bird"),
|
||||||
|
|
||||||
|
@SerializedName("eagle")
|
||||||
|
EAGLE("eagle");
|
||||||
|
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
JustEnumEnum(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return String.valueOf(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SerializedName("just_enum")
|
||||||
|
private JustEnumEnum justEnum = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets or Sets arrayEnum
|
||||||
|
*/
|
||||||
|
public enum ArrayEnumEnum {
|
||||||
|
@SerializedName("fish")
|
||||||
|
FISH("fish"),
|
||||||
|
|
||||||
|
@SerializedName("crab")
|
||||||
|
CRAB("crab");
|
||||||
|
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
ArrayEnumEnum(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return String.valueOf(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@SerializedName("array_enum")
|
||||||
|
private List<ArrayEnumEnum> arrayEnum = new ArrayList<ArrayEnumEnum>();
|
||||||
|
|
||||||
|
public EnumArrays justEnum(JustEnumEnum justEnum) {
|
||||||
|
this.justEnum = justEnum;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get justEnum
|
||||||
|
* @return justEnum
|
||||||
|
**/
|
||||||
|
@ApiModelProperty(example = "null", value = "")
|
||||||
|
public JustEnumEnum getJustEnum() {
|
||||||
|
return justEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setJustEnum(JustEnumEnum justEnum) {
|
||||||
|
this.justEnum = justEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EnumArrays arrayEnum(List<ArrayEnumEnum> arrayEnum) {
|
||||||
|
this.arrayEnum = arrayEnum;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EnumArrays addArrayEnumItem(ArrayEnumEnum arrayEnumItem) {
|
||||||
|
this.arrayEnum.add(arrayEnumItem);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get arrayEnum
|
||||||
|
* @return arrayEnum
|
||||||
|
**/
|
||||||
|
@ApiModelProperty(example = "null", value = "")
|
||||||
|
public List<ArrayEnumEnum> getArrayEnum() {
|
||||||
|
return arrayEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setArrayEnum(List<ArrayEnumEnum> arrayEnum) {
|
||||||
|
this.arrayEnum = arrayEnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(java.lang.Object o) {
|
||||||
|
if (this == o) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (o == null || getClass() != o.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
EnumArrays enumArrays = (EnumArrays) o;
|
||||||
|
return Objects.equals(this.justEnum, enumArrays.justEnum) &&
|
||||||
|
Objects.equals(this.arrayEnum, enumArrays.arrayEnum);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(justEnum, arrayEnum);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append("class EnumArrays {\n");
|
||||||
|
|
||||||
|
sb.append(" justEnum: ").append(toIndentedString(justEnum)).append("\n");
|
||||||
|
sb.append(" arrayEnum: ").append(toIndentedString(arrayEnum)).append("\n");
|
||||||
|
sb.append("}");
|
||||||
|
return sb.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert the given object to string with each line indented by 4 spaces
|
||||||
|
* (except the first line).
|
||||||
|
*/
|
||||||
|
private String toIndentedString(java.lang.Object o) {
|
||||||
|
if (o == null) {
|
||||||
|
return "null";
|
||||||
|
}
|
||||||
|
return o.toString().replace("\n", "\n ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -5,7 +5,6 @@ Name | Type | Description | Notes
|
|||||||
------------ | ------------- | ------------- | -------------
|
------------ | ------------- | ------------- | -------------
|
||||||
**just_enum** | **string** | | [optional]
|
**just_enum** | **string** | | [optional]
|
||||||
**array_enum** | **string[]** | | [optional]
|
**array_enum** | **string[]** | | [optional]
|
||||||
**array_array_enum** | [**string[][]**](array.md) | | [optional]
|
|
||||||
|
|
||||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||||
|
|
||||||
|
@ -67,8 +67,7 @@ class EnumArrays implements ArrayAccess
|
|||||||
*/
|
*/
|
||||||
protected static $swaggerTypes = array(
|
protected static $swaggerTypes = array(
|
||||||
'just_enum' => 'string',
|
'just_enum' => 'string',
|
||||||
'array_enum' => 'string[]',
|
'array_enum' => 'string[]'
|
||||||
'array_array_enum' => 'string[][]'
|
|
||||||
);
|
);
|
||||||
|
|
||||||
public static function swaggerTypes()
|
public static function swaggerTypes()
|
||||||
@ -82,8 +81,7 @@ class EnumArrays implements ArrayAccess
|
|||||||
*/
|
*/
|
||||||
protected static $attributeMap = array(
|
protected static $attributeMap = array(
|
||||||
'just_enum' => 'just_enum',
|
'just_enum' => 'just_enum',
|
||||||
'array_enum' => 'array_enum',
|
'array_enum' => 'array_enum'
|
||||||
'array_array_enum' => 'array_array_enum'
|
|
||||||
);
|
);
|
||||||
|
|
||||||
public static function attributeMap()
|
public static function attributeMap()
|
||||||
@ -97,8 +95,7 @@ class EnumArrays implements ArrayAccess
|
|||||||
*/
|
*/
|
||||||
protected static $setters = array(
|
protected static $setters = array(
|
||||||
'just_enum' => 'setJustEnum',
|
'just_enum' => 'setJustEnum',
|
||||||
'array_enum' => 'setArrayEnum',
|
'array_enum' => 'setArrayEnum'
|
||||||
'array_array_enum' => 'setArrayArrayEnum'
|
|
||||||
);
|
);
|
||||||
|
|
||||||
public static function setters()
|
public static function setters()
|
||||||
@ -112,8 +109,7 @@ class EnumArrays implements ArrayAccess
|
|||||||
*/
|
*/
|
||||||
protected static $getters = array(
|
protected static $getters = array(
|
||||||
'just_enum' => 'getJustEnum',
|
'just_enum' => 'getJustEnum',
|
||||||
'array_enum' => 'getArrayEnum',
|
'array_enum' => 'getArrayEnum'
|
||||||
'array_array_enum' => 'getArrayArrayEnum'
|
|
||||||
);
|
);
|
||||||
|
|
||||||
public static function getters()
|
public static function getters()
|
||||||
@ -125,8 +121,6 @@ class EnumArrays implements ArrayAccess
|
|||||||
const JUST_ENUM_EAGLE = 'eagle';
|
const JUST_ENUM_EAGLE = 'eagle';
|
||||||
const ARRAY_ENUM_FISH = 'fish';
|
const ARRAY_ENUM_FISH = 'fish';
|
||||||
const ARRAY_ENUM_CRAB = 'crab';
|
const ARRAY_ENUM_CRAB = 'crab';
|
||||||
const ARRAY_ARRAY_ENUM_CAT = 'Cat';
|
|
||||||
const ARRAY_ARRAY_ENUM_DOG = 'Dog';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -154,18 +148,6 @@ class EnumArrays implements ArrayAccess
|
|||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets allowable values of the enum
|
|
||||||
* @return string[]
|
|
||||||
*/
|
|
||||||
public function getArrayArrayEnumAllowableValues()
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
self::ARRAY_ARRAY_ENUM_CAT,
|
|
||||||
self::ARRAY_ARRAY_ENUM_DOG,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Associative array for storing property values
|
* Associative array for storing property values
|
||||||
@ -181,7 +163,6 @@ class EnumArrays implements ArrayAccess
|
|||||||
{
|
{
|
||||||
$this->container['just_enum'] = isset($data['just_enum']) ? $data['just_enum'] : null;
|
$this->container['just_enum'] = isset($data['just_enum']) ? $data['just_enum'] : null;
|
||||||
$this->container['array_enum'] = isset($data['array_enum']) ? $data['array_enum'] : null;
|
$this->container['array_enum'] = isset($data['array_enum']) ? $data['array_enum'] : null;
|
||||||
$this->container['array_array_enum'] = isset($data['array_array_enum']) ? $data['array_array_enum'] : null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -265,31 +246,6 @@ class EnumArrays implements ArrayAccess
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets array_array_enum
|
|
||||||
* @return string[][]
|
|
||||||
*/
|
|
||||||
public function getArrayArrayEnum()
|
|
||||||
{
|
|
||||||
return $this->container['array_array_enum'];
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets array_array_enum
|
|
||||||
* @param string[][] $array_array_enum
|
|
||||||
* @return $this
|
|
||||||
*/
|
|
||||||
public function setArrayArrayEnum($array_array_enum)
|
|
||||||
{
|
|
||||||
$allowed_values = array('Cat', 'Dog');
|
|
||||||
if (!in_array($array_array_enum, $allowed_values)) {
|
|
||||||
throw new \InvalidArgumentException("Invalid value for 'array_array_enum', must be one of 'Cat', 'Dog'");
|
|
||||||
}
|
|
||||||
$this->container['array_array_enum'] = $array_array_enum;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Returns true if offset exists. False otherwise.
|
* Returns true if offset exists. False otherwise.
|
||||||
* @param integer $offset Offset
|
* @param integer $offset Offset
|
||||||
|
@ -8,7 +8,7 @@ This SDK is automatically generated by the [Swagger Codegen](https://github.com/
|
|||||||
|
|
||||||
- API version: 1.0.0
|
- API version: 1.0.0
|
||||||
- Package version: 1.0.0
|
- Package version: 1.0.0
|
||||||
- Build date: 2016-08-01T21:53:35.575+08:00
|
- Build date: 2016-08-03T00:39:31.384+08:00
|
||||||
- Build package: class io.swagger.codegen.languages.RubyClientCodegen
|
- Build package: class io.swagger.codegen.languages.RubyClientCodegen
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
9
samples/client/petstore/ruby/docs/EnumArrays.md
Normal file
9
samples/client/petstore/ruby/docs/EnumArrays.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Petstore::EnumArrays
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
Name | Type | Description | Notes
|
||||||
|
------------ | ------------- | ------------- | -------------
|
||||||
|
**just_enum** | **String** | | [optional]
|
||||||
|
**array_enum** | **Array<String>** | | [optional]
|
||||||
|
|
||||||
|
|
243
samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb
Normal file
243
samples/client/petstore/ruby/lib/petstore/models/enum_arrays.rb
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
=begin
|
||||||
|
#Swagger Petstore
|
||||||
|
|
||||||
|
#This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
|
OpenAPI spec version: 1.0.0
|
||||||
|
Contact: apiteam@swagger.io
|
||||||
|
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
|
||||||
|
=end
|
||||||
|
|
||||||
|
require 'date'
|
||||||
|
|
||||||
|
module Petstore
|
||||||
|
|
||||||
|
class EnumArrays
|
||||||
|
attr_accessor :just_enum
|
||||||
|
|
||||||
|
attr_accessor :array_enum
|
||||||
|
|
||||||
|
class EnumAttributeValidator
|
||||||
|
attr_reader :datatype
|
||||||
|
attr_reader :allowable_values
|
||||||
|
|
||||||
|
def initialize(datatype, allowable_values)
|
||||||
|
@allowable_values = allowable_values.map do |value|
|
||||||
|
case datatype.to_s
|
||||||
|
when /Integer/i
|
||||||
|
value.to_i
|
||||||
|
when /Float/i
|
||||||
|
value.to_f
|
||||||
|
else
|
||||||
|
value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def valid?(value)
|
||||||
|
!value || allowable_values.include?(value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Attribute mapping from ruby-style variable name to JSON key.
|
||||||
|
def self.attribute_map
|
||||||
|
{
|
||||||
|
:'just_enum' => :'just_enum',
|
||||||
|
:'array_enum' => :'array_enum'
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
# Attribute type mapping.
|
||||||
|
def self.swagger_types
|
||||||
|
{
|
||||||
|
:'just_enum' => :'String',
|
||||||
|
:'array_enum' => :'Array<String>'
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
# Initializes the object
|
||||||
|
# @param [Hash] attributes Model attributes in the form of hash
|
||||||
|
def initialize(attributes = {})
|
||||||
|
return unless attributes.is_a?(Hash)
|
||||||
|
|
||||||
|
# convert string to symbol for hash key
|
||||||
|
attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
|
||||||
|
|
||||||
|
if attributes.has_key?(:'just_enum')
|
||||||
|
self.just_enum = attributes[:'just_enum']
|
||||||
|
end
|
||||||
|
|
||||||
|
if attributes.has_key?(:'array_enum')
|
||||||
|
if (value = attributes[:'array_enum']).is_a?(Array)
|
||||||
|
self.array_enum = value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
# Show invalid properties with the reasons. Usually used together with valid?
|
||||||
|
# @return Array for valid properies with the reasons
|
||||||
|
def list_invalid_properties
|
||||||
|
invalid_properties = Array.new
|
||||||
|
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?
|
||||||
|
just_enum_validator = EnumAttributeValidator.new('String', ["bird", "eagle"])
|
||||||
|
return false unless just_enum_validator.valid?(@just_enum)
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
# Custom attribute writer method checking allowed values (enum).
|
||||||
|
# @param [Object] just_enum Object to be assigned
|
||||||
|
def just_enum=(just_enum)
|
||||||
|
validator = EnumAttributeValidator.new('String', ["bird", "eagle"])
|
||||||
|
unless validator.valid?(just_enum)
|
||||||
|
fail ArgumentError, "invalid value for 'just_enum', must be one of #{validator.allowable_values}."
|
||||||
|
end
|
||||||
|
@just_enum = just_enum
|
||||||
|
end
|
||||||
|
|
||||||
|
# Checks equality by comparing each attribute.
|
||||||
|
# @param [Object] Object to be compared
|
||||||
|
def ==(o)
|
||||||
|
return true if self.equal?(o)
|
||||||
|
self.class == o.class &&
|
||||||
|
just_enum == o.just_enum &&
|
||||||
|
array_enum == o.array_enum
|
||||||
|
end
|
||||||
|
|
||||||
|
# @see the `==` method
|
||||||
|
# @param [Object] Object to be compared
|
||||||
|
def eql?(o)
|
||||||
|
self == o
|
||||||
|
end
|
||||||
|
|
||||||
|
# Calculates hash code according to all attributes.
|
||||||
|
# @return [Fixnum] Hash code
|
||||||
|
def hash
|
||||||
|
[just_enum, array_enum].hash
|
||||||
|
end
|
||||||
|
|
||||||
|
# Builds the object from hash
|
||||||
|
# @param [Hash] attributes Model attributes in the form of hash
|
||||||
|
# @return [Object] Returns the model itself
|
||||||
|
def build_from_hash(attributes)
|
||||||
|
return nil unless attributes.is_a?(Hash)
|
||||||
|
self.class.swagger_types.each_pair do |key, type|
|
||||||
|
if type =~ /^Array<(.*)>/i
|
||||||
|
# check to ensure the input is an array given that the the attribute
|
||||||
|
# is documented as an array but the input is not
|
||||||
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
||||||
|
self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
|
||||||
|
end
|
||||||
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
||||||
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
||||||
|
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
||||||
|
end
|
||||||
|
|
||||||
|
self
|
||||||
|
end
|
||||||
|
|
||||||
|
# Deserializes the data based on type
|
||||||
|
# @param string type Data type
|
||||||
|
# @param string value Value to be deserialized
|
||||||
|
# @return [Object] Deserialized data
|
||||||
|
def _deserialize(type, value)
|
||||||
|
case type.to_sym
|
||||||
|
when :DateTime
|
||||||
|
DateTime.parse(value)
|
||||||
|
when :Date
|
||||||
|
Date.parse(value)
|
||||||
|
when :String
|
||||||
|
value.to_s
|
||||||
|
when :Integer
|
||||||
|
value.to_i
|
||||||
|
when :Float
|
||||||
|
value.to_f
|
||||||
|
when :BOOLEAN
|
||||||
|
if value.to_s =~ /^(true|t|yes|y|1)$/i
|
||||||
|
true
|
||||||
|
else
|
||||||
|
false
|
||||||
|
end
|
||||||
|
when :Object
|
||||||
|
# generic object (usually a Hash), return directly
|
||||||
|
value
|
||||||
|
when /\AArray<(?<inner_type>.+)>\z/
|
||||||
|
inner_type = Regexp.last_match[:inner_type]
|
||||||
|
value.map { |v| _deserialize(inner_type, v) }
|
||||||
|
when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
|
||||||
|
k_type = Regexp.last_match[:k_type]
|
||||||
|
v_type = Regexp.last_match[:v_type]
|
||||||
|
{}.tap do |hash|
|
||||||
|
value.each do |k, v|
|
||||||
|
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else # model
|
||||||
|
temp_model = Petstore.const_get(type).new
|
||||||
|
temp_model.build_from_hash(value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Returns the string representation of the object
|
||||||
|
# @return [String] String presentation of the object
|
||||||
|
def to_s
|
||||||
|
to_hash.to_s
|
||||||
|
end
|
||||||
|
|
||||||
|
# to_body is an alias to to_hash (backward compatibility)
|
||||||
|
# @return [Hash] Returns the object in the form of hash
|
||||||
|
def to_body
|
||||||
|
to_hash
|
||||||
|
end
|
||||||
|
|
||||||
|
# Returns the object in the form of hash
|
||||||
|
# @return [Hash] Returns the object in the form of hash
|
||||||
|
def to_hash
|
||||||
|
hash = {}
|
||||||
|
self.class.attribute_map.each_pair do |attr, param|
|
||||||
|
value = self.send(attr)
|
||||||
|
next if value.nil?
|
||||||
|
hash[param] = _to_hash(value)
|
||||||
|
end
|
||||||
|
hash
|
||||||
|
end
|
||||||
|
|
||||||
|
# Outputs non-array value in the form of hash
|
||||||
|
# For object, use to_hash. Otherwise, just return the value
|
||||||
|
# @param [Object] value Any valid value
|
||||||
|
# @return [Hash] Returns the value in the form of hash
|
||||||
|
def _to_hash(value)
|
||||||
|
if value.is_a?(Array)
|
||||||
|
value.compact.map{ |v| _to_hash(v) }
|
||||||
|
elsif value.is_a?(Hash)
|
||||||
|
{}.tap do |hash|
|
||||||
|
value.each { |k, v| hash[k] = _to_hash(v) }
|
||||||
|
end
|
||||||
|
elsif value.respond_to? :to_hash
|
||||||
|
value.to_hash
|
||||||
|
else
|
||||||
|
value
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
67
samples/client/petstore/ruby/spec/models/enum_arrays_spec.rb
Normal file
67
samples/client/petstore/ruby/spec/models/enum_arrays_spec.rb
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
=begin
|
||||||
|
#Swagger Petstore
|
||||||
|
|
||||||
|
#This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
|
||||||
|
|
||||||
|
OpenAPI spec version: 1.0.0
|
||||||
|
Contact: apiteam@swagger.io
|
||||||
|
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
|
||||||
|
=end
|
||||||
|
|
||||||
|
require 'spec_helper'
|
||||||
|
require 'json'
|
||||||
|
require 'date'
|
||||||
|
|
||||||
|
# Unit tests for Petstore::EnumArrays
|
||||||
|
# Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
|
||||||
|
# Please update as you see appropriate
|
||||||
|
describe 'EnumArrays' do
|
||||||
|
before do
|
||||||
|
# run before each test
|
||||||
|
@instance = Petstore::EnumArrays.new
|
||||||
|
end
|
||||||
|
|
||||||
|
after do
|
||||||
|
# run after each test
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'test an instance of EnumArrays' do
|
||||||
|
it 'should create an instact of EnumArrays' do
|
||||||
|
expect(@instance).to be_instance_of(Petstore::EnumArrays)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
describe 'test attribute "array_enum"' do
|
||||||
|
it 'should work' do
|
||||||
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
||||||
|
#validator = Petstore::EnumTest::EnumAttributeValidator.new('Array<String>', [])
|
||||||
|
#validator.allowable_values.each do |value|
|
||||||
|
# expect { @instance.array_enum = value }.not_to raise_error
|
||||||
|
#end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'test attribute "array_array_enum"' do
|
||||||
|
it 'should work' do
|
||||||
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
||||||
|
#validator = Petstore::EnumTest::EnumAttributeValidator.new('Array<Array<String>>', [])
|
||||||
|
#validator.allowable_values.each do |value|
|
||||||
|
# expect { @instance.array_array_enum = value }.not_to raise_error
|
||||||
|
#end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user