pnap_billing_api 2.1.1 → 3.0.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/README.md +9 -0
- data/VERSION +1 -1
- data/docs/BandwidthRecord.md +4 -2
- data/docs/LocationAvailabilityDetail.md +1 -1
- data/docs/OperatingSystemRecord.md +4 -2
- data/docs/PackageDetails.md +20 -0
- data/docs/PackageQuantity.md +20 -0
- data/docs/PricingPlan.md +3 -1
- data/docs/ProductAvailabilityApi.md +4 -4
- data/docs/ProductLocationEnum.md +15 -0
- data/docs/PublicSubnetRecord.md +4 -2
- data/docs/Quantity.md +20 -0
- data/docs/QuantityUnitEnum.md +15 -0
- data/docs/RatedUsageRecord.md +4 -2
- data/docs/Reservation.md +10 -2
- data/docs/ReservationDetails.md +20 -0
- data/docs/ReservationRequest.md +3 -1
- data/docs/ReservationStateEnum.md +15 -0
- data/docs/ReservationTerm.md +20 -0
- data/docs/ReservationsApi.md +2 -2
- data/docs/ServerRecord.md +4 -2
- data/docs/StorageDetails.md +5 -5
- data/docs/StorageRecord.md +4 -2
- data/docs/Utilization.md +20 -0
- data/lib/pnap_billing_api/api/billing_configurations_api.rb +2 -2
- data/lib/pnap_billing_api/api/product_availability_api.rb +14 -6
- data/lib/pnap_billing_api/api/products_api.rb +2 -2
- data/lib/pnap_billing_api/api/rated_usage_api.rb +3 -3
- data/lib/pnap_billing_api/api/reservations_api.rb +7 -7
- data/lib/pnap_billing_api/api_client.rb +17 -14
- data/lib/pnap_billing_api/api_error.rb +1 -1
- data/lib/pnap_billing_api/api_model_base.rb +88 -0
- data/lib/pnap_billing_api/configuration.rb +11 -1
- data/lib/pnap_billing_api/models/applicable_discount_details.rb +41 -78
- data/lib/pnap_billing_api/models/applicable_discounts.rb +11 -78
- data/lib/pnap_billing_api/models/bandwidth_details.rb +31 -78
- data/lib/pnap_billing_api/models/bandwidth_record.rb +151 -93
- data/lib/pnap_billing_api/models/configuration_details.rb +11 -78
- data/lib/pnap_billing_api/models/credit_details.rb +5 -7
- data/lib/pnap_billing_api/models/credit_details_base.rb +31 -78
- data/lib/pnap_billing_api/models/credit_type_enum.rb +1 -1
- data/lib/pnap_billing_api/models/discount_details.rb +41 -78
- data/lib/pnap_billing_api/models/discount_type_enum.rb +1 -1
- data/lib/pnap_billing_api/models/error.rb +21 -78
- data/lib/pnap_billing_api/models/gpu_configuration_metadata.rb +11 -78
- data/lib/pnap_billing_api/models/location_availability_detail.rb +52 -79
- data/lib/pnap_billing_api/models/location_enum.rb +1 -1
- data/lib/pnap_billing_api/models/operating_system_details.rb +31 -78
- data/lib/pnap_billing_api/models/operating_system_record.rb +151 -93
- data/lib/pnap_billing_api/models/package_details.rb +179 -0
- data/lib/pnap_billing_api/models/package_quantity.rb +193 -0
- data/lib/pnap_billing_api/models/package_unit_enum.rb +1 -1
- data/lib/pnap_billing_api/models/price_unit_enum.rb +3 -2
- data/lib/pnap_billing_api/models/pricing_plan.rb +56 -84
- data/lib/pnap_billing_api/models/product.rb +31 -78
- data/lib/pnap_billing_api/models/product_availability.rb +41 -78
- data/lib/pnap_billing_api/models/product_category_enum.rb +1 -1
- data/lib/pnap_billing_api/models/product_location_enum.rb +44 -0
- data/lib/pnap_billing_api/models/products_get200_response_inner.rb +1 -2
- data/lib/pnap_billing_api/models/promo_credit_details.rb +51 -78
- data/lib/pnap_billing_api/models/public_subnet_details.rb +31 -78
- data/lib/pnap_billing_api/models/public_subnet_record.rb +151 -93
- data/lib/pnap_billing_api/models/quantity.rb +223 -0
- data/lib/pnap_billing_api/models/quantity_unit_enum.rb +40 -0
- data/lib/pnap_billing_api/models/rated_usage_get200_response_inner.rb +1 -2
- data/lib/pnap_billing_api/models/rated_usage_product_category_enum.rb +1 -1
- data/lib/pnap_billing_api/models/rated_usage_record.rb +141 -93
- data/lib/pnap_billing_api/models/reservation.rb +186 -83
- data/lib/pnap_billing_api/models/reservation_auto_renew_disable_request.rb +11 -78
- data/lib/pnap_billing_api/models/reservation_details.rb +158 -0
- data/lib/pnap_billing_api/models/reservation_invoicing_model_enum.rb +1 -1
- data/lib/pnap_billing_api/models/reservation_model_enum.rb +3 -2
- data/lib/pnap_billing_api/models/reservation_product_category_enum.rb +3 -2
- data/lib/pnap_billing_api/models/reservation_request.rb +51 -82
- data/lib/pnap_billing_api/models/reservation_state_enum.rb +44 -0
- data/lib/pnap_billing_api/models/reservation_term.rb +214 -0
- data/lib/pnap_billing_api/models/server_details.rb +31 -78
- data/lib/pnap_billing_api/models/server_product.rb +41 -78
- data/lib/pnap_billing_api/models/server_product_metadata.rb +81 -78
- data/lib/pnap_billing_api/models/server_record.rb +151 -93
- data/lib/pnap_billing_api/models/storage_details.rb +21 -113
- data/lib/pnap_billing_api/models/storage_record.rb +151 -93
- data/lib/pnap_billing_api/models/system_credit_cause_enum.rb +1 -1
- data/lib/pnap_billing_api/models/system_credit_details.rb +41 -78
- data/lib/pnap_billing_api/models/threshold_configuration_details.rb +21 -78
- data/lib/pnap_billing_api/models/utilization.rb +208 -0
- data/lib/pnap_billing_api/version.rb +1 -2
- data/lib/pnap_billing_api.rb +11 -1
- data/pnap_billing_api.gemspec +6 -6
- data/spec/api/billing_configurations_api_spec.rb +1 -1
- data/spec/api/product_availability_api_spec.rb +3 -3
- data/spec/api/products_api_spec.rb +1 -1
- data/spec/api/rated_usage_api_spec.rb +1 -1
- data/spec/api/reservations_api_spec.rb +1 -1
- data/spec/models/applicable_discount_details_spec.rb +2 -2
- data/spec/models/applicable_discounts_spec.rb +2 -2
- data/spec/models/bandwidth_details_spec.rb +2 -2
- data/spec/models/bandwidth_record_spec.rb +8 -2
- data/spec/models/configuration_details_spec.rb +2 -2
- data/spec/models/credit_details_base_spec.rb +2 -2
- data/spec/models/credit_details_spec.rb +1 -1
- data/spec/models/credit_type_enum_spec.rb +2 -2
- data/spec/models/discount_details_spec.rb +2 -2
- data/spec/models/discount_type_enum_spec.rb +2 -2
- data/spec/models/error_spec.rb +2 -2
- data/spec/models/gpu_configuration_metadata_spec.rb +2 -2
- data/spec/models/location_availability_detail_spec.rb +2 -2
- data/spec/models/location_enum_spec.rb +2 -2
- data/spec/models/operating_system_details_spec.rb +2 -2
- data/spec/models/operating_system_record_spec.rb +8 -2
- data/spec/models/package_details_spec.rb +42 -0
- data/spec/models/package_quantity_spec.rb +42 -0
- data/spec/models/package_unit_enum_spec.rb +2 -2
- data/spec/models/price_unit_enum_spec.rb +2 -2
- data/spec/models/pricing_plan_spec.rb +9 -3
- data/spec/models/product_availability_spec.rb +2 -2
- data/spec/models/product_category_enum_spec.rb +2 -2
- data/spec/models/product_location_enum_spec.rb +30 -0
- data/spec/models/product_spec.rb +2 -2
- data/spec/models/products_get200_response_inner_spec.rb +1 -1
- data/spec/models/promo_credit_details_spec.rb +2 -2
- data/spec/models/public_subnet_details_spec.rb +2 -2
- data/spec/models/public_subnet_record_spec.rb +8 -2
- data/spec/models/quantity_spec.rb +42 -0
- data/spec/models/quantity_unit_enum_spec.rb +30 -0
- data/spec/models/rated_usage_get200_response_inner_spec.rb +1 -1
- data/spec/models/rated_usage_product_category_enum_spec.rb +2 -2
- data/spec/models/rated_usage_record_spec.rb +8 -2
- data/spec/models/reservation_auto_renew_disable_request_spec.rb +2 -2
- data/spec/models/reservation_details_spec.rb +42 -0
- data/spec/models/reservation_invoicing_model_enum_spec.rb +2 -2
- data/spec/models/reservation_model_enum_spec.rb +2 -2
- data/spec/models/reservation_product_category_enum_spec.rb +2 -2
- data/spec/models/reservation_request_spec.rb +8 -2
- data/spec/models/reservation_spec.rb +26 -2
- data/spec/models/reservation_state_enum_spec.rb +30 -0
- data/spec/models/reservation_term_spec.rb +42 -0
- data/spec/models/server_details_spec.rb +2 -2
- data/spec/models/server_product_metadata_spec.rb +2 -2
- data/spec/models/server_product_spec.rb +2 -2
- data/spec/models/server_record_spec.rb +8 -2
- data/spec/models/storage_details_spec.rb +2 -2
- data/spec/models/storage_record_spec.rb +8 -2
- data/spec/models/system_credit_cause_enum_spec.rb +2 -2
- data/spec/models/system_credit_details_spec.rb +2 -2
- data/spec/models/threshold_configuration_details_spec.rb +2 -2
- data/spec/models/utilization_spec.rb +42 -0
- data/spec/spec_helper.rb +1 -1
- metadata +84 -43
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
The version of the OpenAPI document: 0.1
|
|
7
7
|
Contact: support@phoenixnap.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.20.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module BillingApi
|
|
17
|
-
class ServerProduct
|
|
17
|
+
class ServerProduct < ApiModelBase
|
|
18
18
|
# The code identifying the product. This code has significant across all locations.
|
|
19
19
|
attr_accessor :product_code
|
|
20
20
|
|
|
@@ -36,9 +36,14 @@ module BillingApi
|
|
|
36
36
|
}
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
+
# Returns attribute mapping this model knows about
|
|
40
|
+
def self.acceptable_attribute_map
|
|
41
|
+
attribute_map
|
|
42
|
+
end
|
|
43
|
+
|
|
39
44
|
# Returns all the JSON keys this model knows about
|
|
40
45
|
def self.acceptable_attributes
|
|
41
|
-
|
|
46
|
+
acceptable_attribute_map.values
|
|
42
47
|
end
|
|
43
48
|
|
|
44
49
|
# Attribute type mapping.
|
|
@@ -72,9 +77,10 @@ module BillingApi
|
|
|
72
77
|
end
|
|
73
78
|
|
|
74
79
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
80
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
75
81
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
76
|
-
if (!
|
|
77
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ServerProduct`. Please check the name to make sure it's valid. List of attributes: " +
|
|
82
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
83
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ServerProduct`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
78
84
|
end
|
|
79
85
|
h[k.to_sym] = v
|
|
80
86
|
}
|
|
@@ -134,6 +140,36 @@ module BillingApi
|
|
|
134
140
|
true
|
|
135
141
|
end
|
|
136
142
|
|
|
143
|
+
# Custom attribute writer method with validation
|
|
144
|
+
# @param [Object] product_code Value to be assigned
|
|
145
|
+
def product_code=(product_code)
|
|
146
|
+
if product_code.nil?
|
|
147
|
+
fail ArgumentError, 'product_code cannot be nil'
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
@product_code = product_code
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# Custom attribute writer method with validation
|
|
154
|
+
# @param [Object] product_category Value to be assigned
|
|
155
|
+
def product_category=(product_category)
|
|
156
|
+
if product_category.nil?
|
|
157
|
+
fail ArgumentError, 'product_category cannot be nil'
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
@product_category = product_category
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# Custom attribute writer method with validation
|
|
164
|
+
# @param [Object] metadata Value to be assigned
|
|
165
|
+
def metadata=(metadata)
|
|
166
|
+
if metadata.nil?
|
|
167
|
+
fail ArgumentError, 'metadata cannot be nil'
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
@metadata = metadata
|
|
171
|
+
end
|
|
172
|
+
|
|
137
173
|
# Checks equality by comparing each attribute.
|
|
138
174
|
# @param [Object] Object to be compared
|
|
139
175
|
def ==(o)
|
|
@@ -180,61 +216,6 @@ module BillingApi
|
|
|
180
216
|
new(transformed_hash)
|
|
181
217
|
end
|
|
182
218
|
|
|
183
|
-
# Deserializes the data based on type
|
|
184
|
-
# @param string type Data type
|
|
185
|
-
# @param string value Value to be deserialized
|
|
186
|
-
# @return [Object] Deserialized data
|
|
187
|
-
def self._deserialize(type, value)
|
|
188
|
-
case type.to_sym
|
|
189
|
-
when :Time
|
|
190
|
-
Time.parse(value)
|
|
191
|
-
when :Date
|
|
192
|
-
Date.parse(value)
|
|
193
|
-
when :String
|
|
194
|
-
value.to_s
|
|
195
|
-
when :Integer
|
|
196
|
-
value.to_i
|
|
197
|
-
when :Float
|
|
198
|
-
value.to_f
|
|
199
|
-
when :Boolean
|
|
200
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
201
|
-
true
|
|
202
|
-
else
|
|
203
|
-
false
|
|
204
|
-
end
|
|
205
|
-
when :Object
|
|
206
|
-
# generic object (usually a Hash), return directly
|
|
207
|
-
value
|
|
208
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
209
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
210
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
211
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
212
|
-
k_type = Regexp.last_match[:k_type]
|
|
213
|
-
v_type = Regexp.last_match[:v_type]
|
|
214
|
-
{}.tap do |hash|
|
|
215
|
-
value.each do |k, v|
|
|
216
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
217
|
-
end
|
|
218
|
-
end
|
|
219
|
-
else # model
|
|
220
|
-
# models (e.g. Pet) or oneOf
|
|
221
|
-
klass = BillingApi.const_get(type)
|
|
222
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
223
|
-
end
|
|
224
|
-
end
|
|
225
|
-
|
|
226
|
-
# Returns the string representation of the object
|
|
227
|
-
# @return [String] String presentation of the object
|
|
228
|
-
def to_s
|
|
229
|
-
to_hash.to_s
|
|
230
|
-
end
|
|
231
|
-
|
|
232
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
233
|
-
# @return [Hash] Returns the object in the form of hash
|
|
234
|
-
def to_body
|
|
235
|
-
to_hash
|
|
236
|
-
end
|
|
237
|
-
|
|
238
219
|
# Returns the object in the form of hash
|
|
239
220
|
# @return [Hash] Returns the object in the form of hash
|
|
240
221
|
def to_hash
|
|
@@ -251,24 +232,6 @@ module BillingApi
|
|
|
251
232
|
hash
|
|
252
233
|
end
|
|
253
234
|
|
|
254
|
-
# Outputs non-array value in the form of hash
|
|
255
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
256
|
-
# @param [Object] value Any valid value
|
|
257
|
-
# @return [Hash] Returns the value in the form of hash
|
|
258
|
-
def _to_hash(value)
|
|
259
|
-
if value.is_a?(Array)
|
|
260
|
-
value.compact.map { |v| _to_hash(v) }
|
|
261
|
-
elsif value.is_a?(Hash)
|
|
262
|
-
{}.tap do |hash|
|
|
263
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
264
|
-
end
|
|
265
|
-
elsif value.respond_to? :to_hash
|
|
266
|
-
value.to_hash
|
|
267
|
-
else
|
|
268
|
-
value
|
|
269
|
-
end
|
|
270
|
-
end
|
|
271
|
-
|
|
272
235
|
end
|
|
273
236
|
|
|
274
237
|
end
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
The version of the OpenAPI document: 0.1
|
|
7
7
|
Contact: support@phoenixnap.com
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.20.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@ require 'time'
|
|
|
15
15
|
|
|
16
16
|
module BillingApi
|
|
17
17
|
# Details of the server product.
|
|
18
|
-
class ServerProductMetadata
|
|
18
|
+
class ServerProductMetadata < ApiModelBase
|
|
19
19
|
# RAM in GB.
|
|
20
20
|
attr_accessor :ram_in_gb
|
|
21
21
|
|
|
@@ -54,9 +54,14 @@ module BillingApi
|
|
|
54
54
|
}
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
+
# Returns attribute mapping this model knows about
|
|
58
|
+
def self.acceptable_attribute_map
|
|
59
|
+
attribute_map
|
|
60
|
+
end
|
|
61
|
+
|
|
57
62
|
# Returns all the JSON keys this model knows about
|
|
58
63
|
def self.acceptable_attributes
|
|
59
|
-
|
|
64
|
+
acceptable_attribute_map.values
|
|
60
65
|
end
|
|
61
66
|
|
|
62
67
|
# Attribute type mapping.
|
|
@@ -87,9 +92,10 @@ module BillingApi
|
|
|
87
92
|
end
|
|
88
93
|
|
|
89
94
|
# check to see if the attribute exists and convert string to symbol for hash key
|
|
95
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
90
96
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
91
|
-
if (!
|
|
92
|
-
fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ServerProductMetadata`. Please check the name to make sure it's valid. List of attributes: " +
|
|
97
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
98
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `BillingApi::ServerProductMetadata`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
93
99
|
end
|
|
94
100
|
h[k.to_sym] = v
|
|
95
101
|
}
|
|
@@ -193,6 +199,76 @@ module BillingApi
|
|
|
193
199
|
true
|
|
194
200
|
end
|
|
195
201
|
|
|
202
|
+
# Custom attribute writer method with validation
|
|
203
|
+
# @param [Object] ram_in_gb Value to be assigned
|
|
204
|
+
def ram_in_gb=(ram_in_gb)
|
|
205
|
+
if ram_in_gb.nil?
|
|
206
|
+
fail ArgumentError, 'ram_in_gb cannot be nil'
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
@ram_in_gb = ram_in_gb
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
# Custom attribute writer method with validation
|
|
213
|
+
# @param [Object] cpu Value to be assigned
|
|
214
|
+
def cpu=(cpu)
|
|
215
|
+
if cpu.nil?
|
|
216
|
+
fail ArgumentError, 'cpu cannot be nil'
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
@cpu = cpu
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# Custom attribute writer method with validation
|
|
223
|
+
# @param [Object] cpu_count Value to be assigned
|
|
224
|
+
def cpu_count=(cpu_count)
|
|
225
|
+
if cpu_count.nil?
|
|
226
|
+
fail ArgumentError, 'cpu_count cannot be nil'
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
@cpu_count = cpu_count
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
# Custom attribute writer method with validation
|
|
233
|
+
# @param [Object] cores_per_cpu Value to be assigned
|
|
234
|
+
def cores_per_cpu=(cores_per_cpu)
|
|
235
|
+
if cores_per_cpu.nil?
|
|
236
|
+
fail ArgumentError, 'cores_per_cpu cannot be nil'
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
@cores_per_cpu = cores_per_cpu
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
# Custom attribute writer method with validation
|
|
243
|
+
# @param [Object] cpu_frequency Value to be assigned
|
|
244
|
+
def cpu_frequency=(cpu_frequency)
|
|
245
|
+
if cpu_frequency.nil?
|
|
246
|
+
fail ArgumentError, 'cpu_frequency cannot be nil'
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
@cpu_frequency = cpu_frequency
|
|
250
|
+
end
|
|
251
|
+
|
|
252
|
+
# Custom attribute writer method with validation
|
|
253
|
+
# @param [Object] network Value to be assigned
|
|
254
|
+
def network=(network)
|
|
255
|
+
if network.nil?
|
|
256
|
+
fail ArgumentError, 'network cannot be nil'
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
@network = network
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
# Custom attribute writer method with validation
|
|
263
|
+
# @param [Object] storage Value to be assigned
|
|
264
|
+
def storage=(storage)
|
|
265
|
+
if storage.nil?
|
|
266
|
+
fail ArgumentError, 'storage cannot be nil'
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
@storage = storage
|
|
270
|
+
end
|
|
271
|
+
|
|
196
272
|
# Checks equality by comparing each attribute.
|
|
197
273
|
# @param [Object] Object to be compared
|
|
198
274
|
def ==(o)
|
|
@@ -243,61 +319,6 @@ module BillingApi
|
|
|
243
319
|
new(transformed_hash)
|
|
244
320
|
end
|
|
245
321
|
|
|
246
|
-
# Deserializes the data based on type
|
|
247
|
-
# @param string type Data type
|
|
248
|
-
# @param string value Value to be deserialized
|
|
249
|
-
# @return [Object] Deserialized data
|
|
250
|
-
def self._deserialize(type, value)
|
|
251
|
-
case type.to_sym
|
|
252
|
-
when :Time
|
|
253
|
-
Time.parse(value)
|
|
254
|
-
when :Date
|
|
255
|
-
Date.parse(value)
|
|
256
|
-
when :String
|
|
257
|
-
value.to_s
|
|
258
|
-
when :Integer
|
|
259
|
-
value.to_i
|
|
260
|
-
when :Float
|
|
261
|
-
value.to_f
|
|
262
|
-
when :Boolean
|
|
263
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
264
|
-
true
|
|
265
|
-
else
|
|
266
|
-
false
|
|
267
|
-
end
|
|
268
|
-
when :Object
|
|
269
|
-
# generic object (usually a Hash), return directly
|
|
270
|
-
value
|
|
271
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
|
272
|
-
inner_type = Regexp.last_match[:inner_type]
|
|
273
|
-
value.map { |v| _deserialize(inner_type, v) }
|
|
274
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
275
|
-
k_type = Regexp.last_match[:k_type]
|
|
276
|
-
v_type = Regexp.last_match[:v_type]
|
|
277
|
-
{}.tap do |hash|
|
|
278
|
-
value.each do |k, v|
|
|
279
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
280
|
-
end
|
|
281
|
-
end
|
|
282
|
-
else # model
|
|
283
|
-
# models (e.g. Pet) or oneOf
|
|
284
|
-
klass = BillingApi.const_get(type)
|
|
285
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
286
|
-
end
|
|
287
|
-
end
|
|
288
|
-
|
|
289
|
-
# Returns the string representation of the object
|
|
290
|
-
# @return [String] String presentation of the object
|
|
291
|
-
def to_s
|
|
292
|
-
to_hash.to_s
|
|
293
|
-
end
|
|
294
|
-
|
|
295
|
-
# to_body is an alias to to_hash (backward compatibility)
|
|
296
|
-
# @return [Hash] Returns the object in the form of hash
|
|
297
|
-
def to_body
|
|
298
|
-
to_hash
|
|
299
|
-
end
|
|
300
|
-
|
|
301
322
|
# Returns the object in the form of hash
|
|
302
323
|
# @return [Hash] Returns the object in the form of hash
|
|
303
324
|
def to_hash
|
|
@@ -314,24 +335,6 @@ module BillingApi
|
|
|
314
335
|
hash
|
|
315
336
|
end
|
|
316
337
|
|
|
317
|
-
# Outputs non-array value in the form of hash
|
|
318
|
-
# For object, use to_hash. Otherwise, just return the value
|
|
319
|
-
# @param [Object] value Any valid value
|
|
320
|
-
# @return [Hash] Returns the value in the form of hash
|
|
321
|
-
def _to_hash(value)
|
|
322
|
-
if value.is_a?(Array)
|
|
323
|
-
value.compact.map { |v| _to_hash(v) }
|
|
324
|
-
elsif value.is_a?(Hash)
|
|
325
|
-
{}.tap do |hash|
|
|
326
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
327
|
-
end
|
|
328
|
-
elsif value.respond_to? :to_hash
|
|
329
|
-
value.to_hash
|
|
330
|
-
else
|
|
331
|
-
value
|
|
332
|
-
end
|
|
333
|
-
end
|
|
334
|
-
|
|
335
338
|
end
|
|
336
339
|
|
|
337
340
|
end
|