patch_ruby 1.6.0 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/Gemfile +1 -2
- data/Gemfile.lock +23 -28
- data/bin/rspec +29 -0
- data/lib/patch_ruby/api/estimates_api.rb +97 -24
- data/lib/patch_ruby/api/orders_api.rb +30 -16
- data/lib/patch_ruby/api/preferences_api.rb +17 -13
- data/lib/patch_ruby/api/projects_api.rb +9 -7
- data/lib/patch_ruby/api_client.rb +51 -49
- data/lib/patch_ruby/api_error.rb +1 -1
- data/lib/patch_ruby/configuration.rb +38 -9
- data/lib/patch_ruby/models/allocation.rb +21 -11
- data/lib/patch_ruby/models/create_bitcoin_estimate_request.rb +25 -19
- data/lib/patch_ruby/models/create_ethereum_estimate_request.rb +269 -0
- data/lib/patch_ruby/models/create_mass_estimate_request.rb +22 -13
- data/lib/patch_ruby/models/create_order_request.rb +21 -11
- data/lib/patch_ruby/models/create_preference_request.rb +21 -11
- data/lib/patch_ruby/models/error_response.rb +22 -13
- data/lib/patch_ruby/models/estimate.rb +23 -14
- data/lib/patch_ruby/models/estimate_list_response.rb +22 -13
- data/lib/patch_ruby/models/estimate_response.rb +22 -13
- data/lib/patch_ruby/models/meta_index_object.rb +23 -15
- data/lib/patch_ruby/models/order.rb +25 -17
- data/lib/patch_ruby/models/order_list_response.rb +22 -13
- data/lib/patch_ruby/models/order_response.rb +22 -13
- data/lib/patch_ruby/models/photo.rb +21 -11
- data/lib/patch_ruby/models/preference.rb +21 -11
- data/lib/patch_ruby/models/preference_list_response.rb +22 -13
- data/lib/patch_ruby/models/preference_response.rb +22 -13
- data/lib/patch_ruby/models/project.rb +24 -17
- data/lib/patch_ruby/models/project_list_response.rb +22 -13
- data/lib/patch_ruby/models/project_response.rb +22 -13
- data/lib/patch_ruby/models/sdg.rb +21 -11
- data/lib/patch_ruby/models/standard.rb +21 -11
- data/lib/patch_ruby/version.rb +2 -2
- data/lib/patch_ruby.rb +2 -1
- data/patch_ruby.gemspec +7 -3
- data/spec/api_client_spec.rb +34 -13
- data/spec/configuration_spec.rb +1 -1
- data/spec/integration/estimates_spec.rb +34 -7
- data/spec/integration/orders_spec.rb +15 -18
- data/spec/integration/preferences_spec.rb +1 -7
- data/spec/integration/projects_spec.rb +5 -17
- data/spec/models/create_mass_estimate_request_spec.rb +1 -1
- data/spec/models/error_response_spec.rb +1 -1
- data/spec/models/estimate_list_response_spec.rb +1 -1
- data/spec/models/estimate_response_spec.rb +1 -1
- data/spec/models/estimate_spec.rb +1 -1
- data/spec/models/meta_index_object_spec.rb +1 -1
- data/spec/models/order_list_response_spec.rb +1 -1
- data/spec/models/order_response_spec.rb +1 -1
- data/spec/models/order_spec.rb +1 -1
- data/spec/models/preference_list_response_spec.rb +1 -1
- data/spec/models/preference_response_spec.rb +1 -1
- data/spec/models/project_list_response_spec.rb +1 -1
- data/spec/models/project_response_spec.rb +1 -1
- data/spec/models/project_spec.rb +1 -1
- data/spec/spec_helper.rb +70 -54
- metadata +37 -41
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
Contact: developers@usepatch.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
OpenAPI Generator version:
|
|
9
|
+
OpenAPI Generator version: 5.2.1
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
13
|
require 'date'
|
|
14
|
+
require 'time'
|
|
14
15
|
|
|
15
16
|
module Patch
|
|
16
17
|
class CreateOrderRequest
|
|
@@ -32,6 +33,11 @@ module Patch
|
|
|
32
33
|
}
|
|
33
34
|
end
|
|
34
35
|
|
|
36
|
+
# Returns all the JSON keys this model knows about
|
|
37
|
+
def self.acceptable_attributes
|
|
38
|
+
attribute_map.values
|
|
39
|
+
end
|
|
40
|
+
|
|
35
41
|
# Attribute type mapping.
|
|
36
42
|
def self.openapi_types
|
|
37
43
|
{
|
|
@@ -42,13 +48,13 @@ module Patch
|
|
|
42
48
|
}
|
|
43
49
|
end
|
|
44
50
|
|
|
45
|
-
#
|
|
51
|
+
# List of attributes with nullable: true
|
|
46
52
|
def self.openapi_nullable
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
nullable_properties
|
|
53
|
+
Set.new([
|
|
54
|
+
])
|
|
50
55
|
end
|
|
51
56
|
|
|
57
|
+
|
|
52
58
|
# Allows models with corresponding API classes to delegate API operations to those API classes
|
|
53
59
|
# Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
|
|
54
60
|
# Eg. Order.create_order delegates to OrdersApi.new.create_order
|
|
@@ -180,7 +186,9 @@ module Patch
|
|
|
180
186
|
def build_from_hash(attributes)
|
|
181
187
|
return nil unless attributes.is_a?(Hash)
|
|
182
188
|
self.class.openapi_types.each_pair do |key, type|
|
|
183
|
-
if
|
|
189
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
190
|
+
self.send("#{key}=", nil)
|
|
191
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
184
192
|
# check to ensure the input is an array given that the attribute
|
|
185
193
|
# is documented as an array but the input is not
|
|
186
194
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -188,7 +196,7 @@ module Patch
|
|
|
188
196
|
end
|
|
189
197
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
190
198
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
191
|
-
end
|
|
199
|
+
end
|
|
192
200
|
end
|
|
193
201
|
|
|
194
202
|
self
|
|
@@ -200,8 +208,8 @@ module Patch
|
|
|
200
208
|
# @return [Object] Deserialized data
|
|
201
209
|
def _deserialize(type, value)
|
|
202
210
|
case type.to_sym
|
|
203
|
-
when :
|
|
204
|
-
|
|
211
|
+
when :Time
|
|
212
|
+
Time.parse(value)
|
|
205
213
|
when :Date
|
|
206
214
|
Date.parse(value)
|
|
207
215
|
when :String
|
|
@@ -231,7 +239,9 @@ module Patch
|
|
|
231
239
|
end
|
|
232
240
|
end
|
|
233
241
|
else # model
|
|
234
|
-
|
|
242
|
+
# models (e.g. Pet) or oneOf
|
|
243
|
+
klass = Patch.const_get(type)
|
|
244
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
235
245
|
end
|
|
236
246
|
end
|
|
237
247
|
|
|
@@ -257,7 +267,7 @@ module Patch
|
|
|
257
267
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
258
268
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
259
269
|
end
|
|
260
|
-
|
|
270
|
+
|
|
261
271
|
hash[param] = _to_hash(value)
|
|
262
272
|
end
|
|
263
273
|
hash
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
Contact: developers@usepatch.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
OpenAPI Generator version:
|
|
9
|
+
OpenAPI Generator version: 5.2.1
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
13
|
require 'date'
|
|
14
|
+
require 'time'
|
|
14
15
|
|
|
15
16
|
module Patch
|
|
16
17
|
class CreatePreferenceRequest
|
|
@@ -23,6 +24,11 @@ module Patch
|
|
|
23
24
|
}
|
|
24
25
|
end
|
|
25
26
|
|
|
27
|
+
# Returns all the JSON keys this model knows about
|
|
28
|
+
def self.acceptable_attributes
|
|
29
|
+
attribute_map.values
|
|
30
|
+
end
|
|
31
|
+
|
|
26
32
|
# Attribute type mapping.
|
|
27
33
|
def self.openapi_types
|
|
28
34
|
{
|
|
@@ -30,13 +36,13 @@ module Patch
|
|
|
30
36
|
}
|
|
31
37
|
end
|
|
32
38
|
|
|
33
|
-
#
|
|
39
|
+
# List of attributes with nullable: true
|
|
34
40
|
def self.openapi_nullable
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
nullable_properties
|
|
41
|
+
Set.new([
|
|
42
|
+
])
|
|
38
43
|
end
|
|
39
44
|
|
|
45
|
+
|
|
40
46
|
# Allows models with corresponding API classes to delegate API operations to those API classes
|
|
41
47
|
# Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
|
|
42
48
|
# Eg. Order.create_order delegates to OrdersApi.new.create_order
|
|
@@ -119,7 +125,9 @@ module Patch
|
|
|
119
125
|
def build_from_hash(attributes)
|
|
120
126
|
return nil unless attributes.is_a?(Hash)
|
|
121
127
|
self.class.openapi_types.each_pair do |key, type|
|
|
122
|
-
if
|
|
128
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
129
|
+
self.send("#{key}=", nil)
|
|
130
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
123
131
|
# check to ensure the input is an array given that the attribute
|
|
124
132
|
# is documented as an array but the input is not
|
|
125
133
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -127,7 +135,7 @@ module Patch
|
|
|
127
135
|
end
|
|
128
136
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
129
137
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
130
|
-
end
|
|
138
|
+
end
|
|
131
139
|
end
|
|
132
140
|
|
|
133
141
|
self
|
|
@@ -139,8 +147,8 @@ module Patch
|
|
|
139
147
|
# @return [Object] Deserialized data
|
|
140
148
|
def _deserialize(type, value)
|
|
141
149
|
case type.to_sym
|
|
142
|
-
when :
|
|
143
|
-
|
|
150
|
+
when :Time
|
|
151
|
+
Time.parse(value)
|
|
144
152
|
when :Date
|
|
145
153
|
Date.parse(value)
|
|
146
154
|
when :String
|
|
@@ -170,7 +178,9 @@ module Patch
|
|
|
170
178
|
end
|
|
171
179
|
end
|
|
172
180
|
else # model
|
|
173
|
-
|
|
181
|
+
# models (e.g. Pet) or oneOf
|
|
182
|
+
klass = Patch.const_get(type)
|
|
183
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
174
184
|
end
|
|
175
185
|
end
|
|
176
186
|
|
|
@@ -196,7 +206,7 @@ module Patch
|
|
|
196
206
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
197
207
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
198
208
|
end
|
|
199
|
-
|
|
209
|
+
|
|
200
210
|
hash[param] = _to_hash(value)
|
|
201
211
|
end
|
|
202
212
|
hash
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
Contact: developers@usepatch.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
OpenAPI Generator version:
|
|
9
|
+
OpenAPI Generator version: 5.2.1
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
13
|
require 'date'
|
|
14
|
+
require 'time'
|
|
14
15
|
|
|
15
16
|
module Patch
|
|
16
17
|
class ErrorResponse
|
|
@@ -29,6 +30,11 @@ module Patch
|
|
|
29
30
|
}
|
|
30
31
|
end
|
|
31
32
|
|
|
33
|
+
# Returns all the JSON keys this model knows about
|
|
34
|
+
def self.acceptable_attributes
|
|
35
|
+
attribute_map.values
|
|
36
|
+
end
|
|
37
|
+
|
|
32
38
|
# Attribute type mapping.
|
|
33
39
|
def self.openapi_types
|
|
34
40
|
{
|
|
@@ -38,15 +44,14 @@ module Patch
|
|
|
38
44
|
}
|
|
39
45
|
end
|
|
40
46
|
|
|
41
|
-
#
|
|
47
|
+
# List of attributes with nullable: true
|
|
42
48
|
def self.openapi_nullable
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
nullable_properties
|
|
49
|
+
Set.new([
|
|
50
|
+
:'data'
|
|
51
|
+
])
|
|
48
52
|
end
|
|
49
53
|
|
|
54
|
+
|
|
50
55
|
# Allows models with corresponding API classes to delegate API operations to those API classes
|
|
51
56
|
# Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
|
|
52
57
|
# Eg. Order.create_order delegates to OrdersApi.new.create_order
|
|
@@ -144,7 +149,9 @@ module Patch
|
|
|
144
149
|
def build_from_hash(attributes)
|
|
145
150
|
return nil unless attributes.is_a?(Hash)
|
|
146
151
|
self.class.openapi_types.each_pair do |key, type|
|
|
147
|
-
if
|
|
152
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
153
|
+
self.send("#{key}=", nil)
|
|
154
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
148
155
|
# check to ensure the input is an array given that the attribute
|
|
149
156
|
# is documented as an array but the input is not
|
|
150
157
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -152,7 +159,7 @@ module Patch
|
|
|
152
159
|
end
|
|
153
160
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
154
161
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
155
|
-
end
|
|
162
|
+
end
|
|
156
163
|
end
|
|
157
164
|
|
|
158
165
|
self
|
|
@@ -164,8 +171,8 @@ module Patch
|
|
|
164
171
|
# @return [Object] Deserialized data
|
|
165
172
|
def _deserialize(type, value)
|
|
166
173
|
case type.to_sym
|
|
167
|
-
when :
|
|
168
|
-
|
|
174
|
+
when :Time
|
|
175
|
+
Time.parse(value)
|
|
169
176
|
when :Date
|
|
170
177
|
Date.parse(value)
|
|
171
178
|
when :String
|
|
@@ -195,7 +202,9 @@ module Patch
|
|
|
195
202
|
end
|
|
196
203
|
end
|
|
197
204
|
else # model
|
|
198
|
-
|
|
205
|
+
# models (e.g. Pet) or oneOf
|
|
206
|
+
klass = Patch.const_get(type)
|
|
207
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
199
208
|
end
|
|
200
209
|
end
|
|
201
210
|
|
|
@@ -221,7 +230,7 @@ module Patch
|
|
|
221
230
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
222
231
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
223
232
|
end
|
|
224
|
-
|
|
233
|
+
|
|
225
234
|
hash[param] = _to_hash(value)
|
|
226
235
|
end
|
|
227
236
|
hash
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
Contact: developers@usepatch.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
OpenAPI Generator version:
|
|
9
|
+
OpenAPI Generator version: 5.2.1
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
13
|
require 'date'
|
|
14
|
+
require 'time'
|
|
14
15
|
|
|
15
16
|
module Patch
|
|
16
17
|
class Estimate
|
|
@@ -20,7 +21,7 @@ module Patch
|
|
|
20
21
|
# A boolean indicating if this estimate is a production or test mode estimate.
|
|
21
22
|
attr_accessor :production
|
|
22
23
|
|
|
23
|
-
# The type of estimate. Available types are mass, flight, shipping, and
|
|
24
|
+
# The type of estimate. Available types are mass, flight, shipping, vehicle, and crypto.
|
|
24
25
|
attr_accessor :type
|
|
25
26
|
|
|
26
27
|
# The estimated mass in grams for this estimate.
|
|
@@ -40,6 +41,11 @@ module Patch
|
|
|
40
41
|
}
|
|
41
42
|
end
|
|
42
43
|
|
|
44
|
+
# Returns all the JSON keys this model knows about
|
|
45
|
+
def self.acceptable_attributes
|
|
46
|
+
attribute_map.values
|
|
47
|
+
end
|
|
48
|
+
|
|
43
49
|
# Attribute type mapping.
|
|
44
50
|
def self.openapi_types
|
|
45
51
|
{
|
|
@@ -51,15 +57,14 @@ module Patch
|
|
|
51
57
|
}
|
|
52
58
|
end
|
|
53
59
|
|
|
54
|
-
#
|
|
60
|
+
# List of attributes with nullable: true
|
|
55
61
|
def self.openapi_nullable
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
nullable_properties
|
|
62
|
+
Set.new([
|
|
63
|
+
:'order'
|
|
64
|
+
])
|
|
61
65
|
end
|
|
62
66
|
|
|
67
|
+
|
|
63
68
|
# Allows models with corresponding API classes to delegate API operations to those API classes
|
|
64
69
|
# Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
|
|
65
70
|
# Eg. Order.create_order delegates to OrdersApi.new.create_order
|
|
@@ -172,7 +177,9 @@ module Patch
|
|
|
172
177
|
def build_from_hash(attributes)
|
|
173
178
|
return nil unless attributes.is_a?(Hash)
|
|
174
179
|
self.class.openapi_types.each_pair do |key, type|
|
|
175
|
-
if
|
|
180
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
181
|
+
self.send("#{key}=", nil)
|
|
182
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
176
183
|
# check to ensure the input is an array given that the attribute
|
|
177
184
|
# is documented as an array but the input is not
|
|
178
185
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -180,7 +187,7 @@ module Patch
|
|
|
180
187
|
end
|
|
181
188
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
182
189
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
183
|
-
end
|
|
190
|
+
end
|
|
184
191
|
end
|
|
185
192
|
|
|
186
193
|
self
|
|
@@ -192,8 +199,8 @@ module Patch
|
|
|
192
199
|
# @return [Object] Deserialized data
|
|
193
200
|
def _deserialize(type, value)
|
|
194
201
|
case type.to_sym
|
|
195
|
-
when :
|
|
196
|
-
|
|
202
|
+
when :Time
|
|
203
|
+
Time.parse(value)
|
|
197
204
|
when :Date
|
|
198
205
|
Date.parse(value)
|
|
199
206
|
when :String
|
|
@@ -223,7 +230,9 @@ module Patch
|
|
|
223
230
|
end
|
|
224
231
|
end
|
|
225
232
|
else # model
|
|
226
|
-
|
|
233
|
+
# models (e.g. Pet) or oneOf
|
|
234
|
+
klass = Patch.const_get(type)
|
|
235
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
227
236
|
end
|
|
228
237
|
end
|
|
229
238
|
|
|
@@ -249,7 +258,7 @@ module Patch
|
|
|
249
258
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
250
259
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
251
260
|
end
|
|
252
|
-
|
|
261
|
+
|
|
253
262
|
hash[param] = _to_hash(value)
|
|
254
263
|
end
|
|
255
264
|
hash
|
|
@@ -6,11 +6,12 @@
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
Contact: developers@usepatch.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
OpenAPI Generator version:
|
|
9
|
+
OpenAPI Generator version: 5.2.1
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
13
13
|
require 'date'
|
|
14
|
+
require 'time'
|
|
14
15
|
|
|
15
16
|
module Patch
|
|
16
17
|
class EstimateListResponse
|
|
@@ -32,6 +33,11 @@ module Patch
|
|
|
32
33
|
}
|
|
33
34
|
end
|
|
34
35
|
|
|
36
|
+
# Returns all the JSON keys this model knows about
|
|
37
|
+
def self.acceptable_attributes
|
|
38
|
+
attribute_map.values
|
|
39
|
+
end
|
|
40
|
+
|
|
35
41
|
# Attribute type mapping.
|
|
36
42
|
def self.openapi_types
|
|
37
43
|
{
|
|
@@ -42,15 +48,14 @@ module Patch
|
|
|
42
48
|
}
|
|
43
49
|
end
|
|
44
50
|
|
|
45
|
-
#
|
|
51
|
+
# List of attributes with nullable: true
|
|
46
52
|
def self.openapi_nullable
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
nullable_properties
|
|
53
|
+
Set.new([
|
|
54
|
+
:'error',
|
|
55
|
+
])
|
|
52
56
|
end
|
|
53
57
|
|
|
58
|
+
|
|
54
59
|
# Allows models with corresponding API classes to delegate API operations to those API classes
|
|
55
60
|
# Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
|
|
56
61
|
# Eg. Order.create_order delegates to OrdersApi.new.create_order
|
|
@@ -160,7 +165,9 @@ module Patch
|
|
|
160
165
|
def build_from_hash(attributes)
|
|
161
166
|
return nil unless attributes.is_a?(Hash)
|
|
162
167
|
self.class.openapi_types.each_pair do |key, type|
|
|
163
|
-
if
|
|
168
|
+
if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
|
|
169
|
+
self.send("#{key}=", nil)
|
|
170
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
164
171
|
# check to ensure the input is an array given that the attribute
|
|
165
172
|
# is documented as an array but the input is not
|
|
166
173
|
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
|
@@ -168,7 +175,7 @@ module Patch
|
|
|
168
175
|
end
|
|
169
176
|
elsif !attributes[self.class.attribute_map[key]].nil?
|
|
170
177
|
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
|
171
|
-
end
|
|
178
|
+
end
|
|
172
179
|
end
|
|
173
180
|
|
|
174
181
|
self
|
|
@@ -180,8 +187,8 @@ module Patch
|
|
|
180
187
|
# @return [Object] Deserialized data
|
|
181
188
|
def _deserialize(type, value)
|
|
182
189
|
case type.to_sym
|
|
183
|
-
when :
|
|
184
|
-
|
|
190
|
+
when :Time
|
|
191
|
+
Time.parse(value)
|
|
185
192
|
when :Date
|
|
186
193
|
Date.parse(value)
|
|
187
194
|
when :String
|
|
@@ -211,7 +218,9 @@ module Patch
|
|
|
211
218
|
end
|
|
212
219
|
end
|
|
213
220
|
else # model
|
|
214
|
-
|
|
221
|
+
# models (e.g. Pet) or oneOf
|
|
222
|
+
klass = Patch.const_get(type)
|
|
223
|
+
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
215
224
|
end
|
|
216
225
|
end
|
|
217
226
|
|
|
@@ -237,7 +246,7 @@ module Patch
|
|
|
237
246
|
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
238
247
|
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
239
248
|
end
|
|
240
|
-
|
|
249
|
+
|
|
241
250
|
hash[param] = _to_hash(value)
|
|
242
251
|
end
|
|
243
252
|
hash
|