openapi_client 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (732) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +431 -0
  4. data/Rakefile +10 -0
  5. data/docs/AddFundsToCarrierRequestBody.md +16 -0
  6. data/docs/AddFundsToCarrierResponseBody.md +17 -0
  7. data/docs/AddFundsToInsuranceRequestBody.md +16 -0
  8. data/docs/AddFundsToInsuranceResponseBody.md +16 -0
  9. data/docs/AddToBatchRequestBody.md +16 -0
  10. data/docs/Address.md +16 -0
  11. data/docs/AddressResidentialIndicator.md +16 -0
  12. data/docs/AddressToValidate.md +16 -0
  13. data/docs/AddressValidatingShipment.md +61 -0
  14. data/docs/AddressValidationCode.md +16 -0
  15. data/docs/AddressValidationDetailCode.md +16 -0
  16. data/docs/AddressValidationMessageType.md +16 -0
  17. data/docs/AddressValidationResult.md +23 -0
  18. data/docs/AddressValidationStatus.md +16 -0
  19. data/docs/AddressesApi.md +118 -0
  20. data/docs/AdvancedShipmentOptions.md +47 -0
  21. data/docs/AncillaryServiceEndorsement.md +16 -0
  22. data/docs/Batch.md +51 -0
  23. data/docs/BatchResponseError.md +19 -0
  24. data/docs/BatchStatus.md +16 -0
  25. data/docs/BatchesApi.md +580 -0
  26. data/docs/BatchesSortBy.md +16 -0
  27. data/docs/BillToParty.md +16 -0
  28. data/docs/BulkRate.md +25 -0
  29. data/docs/CalculateRatesRequestBody.md +16 -0
  30. data/docs/CalculateRatesResponseBody.md +61 -0
  31. data/docs/Carrier.md +41 -0
  32. data/docs/CarrierAccountsApi.md +238 -0
  33. data/docs/CarrierAdvancedOption.md +21 -0
  34. data/docs/CarrierName.md +16 -0
  35. data/docs/CarrierNameWithSettings.md +16 -0
  36. data/docs/CarriersApi.md +336 -0
  37. data/docs/CollectOnDelivery.md +19 -0
  38. data/docs/CollectOnDeliveryPaymentType.md +16 -0
  39. data/docs/CompareBulkRatesRequestBody.md +16 -0
  40. data/docs/ConnectAccessWorldwideRequestBody.md +21 -0
  41. data/docs/ConnectAmazonBuyShippingRequestBody.md +23 -0
  42. data/docs/ConnectApcRequestBody.md +21 -0
  43. data/docs/ConnectAsendiaRequestBody.md +23 -0
  44. data/docs/ConnectAustraliaPostRequestBody.md +23 -0
  45. data/docs/ConnectCanadaPostRequestBody.md +25 -0
  46. data/docs/ConnectCarrierRequestBody.md +113 -0
  47. data/docs/ConnectCarrierResponseBody.md +17 -0
  48. data/docs/ConnectDhlEcommerceRequestBody.md +39 -0
  49. data/docs/ConnectDhlExpressAuRequestBody.md +19 -0
  50. data/docs/ConnectDhlExpressCaRequestBody.md +19 -0
  51. data/docs/ConnectDhlExpressRequestBody.md +19 -0
  52. data/docs/ConnectDhlExpressUkRequestBody.md +23 -0
  53. data/docs/ConnectDpdRequestBody.md +21 -0
  54. data/docs/ConnectEndiciaRequestBody.md +21 -0
  55. data/docs/ConnectFedexRequestBody.md +45 -0
  56. data/docs/ConnectFedexUkRequestBody.md +45 -0
  57. data/docs/ConnectFirstmileRequestBody.md +23 -0
  58. data/docs/ConnectGlobegisticsRequestBody.md +21 -0
  59. data/docs/ConnectImexRequestBody.md +21 -0
  60. data/docs/ConnectInsurerRequestBody.md +19 -0
  61. data/docs/ConnectNewgisticsRequestBody.md +23 -0
  62. data/docs/ConnectOntracRequestBody.md +21 -0
  63. data/docs/ConnectPurolatorRequestBody.md +21 -0
  64. data/docs/ConnectRoyalMailRequestBody.md +39 -0
  65. data/docs/ConnectRrDonnelleyRequestBody.md +21 -0
  66. data/docs/ConnectSekoRequestBody.md +19 -0
  67. data/docs/ConnectSendleRequestBody.md +21 -0
  68. data/docs/ConnectStampsRequestBody.md +21 -0
  69. data/docs/ConnectUpsRequestBody.md +51 -0
  70. data/docs/CreateAndValidateShipment.md +63 -0
  71. data/docs/CreateBatchRequestBody.md +23 -0
  72. data/docs/CreateBatchResponseBody.md +16 -0
  73. data/docs/CreateLabelFromRateRequestBody.md +16 -0
  74. data/docs/CreateLabelFromRateResponseBody.md +16 -0
  75. data/docs/CreateLabelFromShipmentRequestBody.md +23 -0
  76. data/docs/CreateLabelFromShipmentResponseBody.md +16 -0
  77. data/docs/CreateLabelRequestBody.md +16 -0
  78. data/docs/CreateLabelResponseBody.md +16 -0
  79. data/docs/CreateManifestByObjectRequestBody.md +25 -0
  80. data/docs/CreateManifestLabelIdsRequestBody.md +17 -0
  81. data/docs/CreateManifestRequestBody.md +25 -0
  82. data/docs/CreateManifestResponseBody.md +35 -0
  83. data/docs/CreatePackageTypeRequestBody.md +16 -0
  84. data/docs/CreatePackageTypeResponseBody.md +16 -0
  85. data/docs/CreateReturnLabelRequestBody.md +25 -0
  86. data/docs/CreateReturnLabelResponseBody.md +16 -0
  87. data/docs/CreateShipmentResponseBodyFields.md +19 -0
  88. data/docs/CreateShipmentsRequestBody.md +17 -0
  89. data/docs/CreateShipmentsResponseBody.md +19 -0
  90. data/docs/CreateTagResponseBody.md +16 -0
  91. data/docs/CreateWarehouseRequestBody.md +16 -0
  92. data/docs/CreateWarehouseResponseBody.md +16 -0
  93. data/docs/CreateWebhookRequestBody.md +19 -0
  94. data/docs/CreateWebhookResponseBody.md +16 -0
  95. data/docs/Currency.md +16 -0
  96. data/docs/CustomsItem.md +33 -0
  97. data/docs/DeliveryConfirmation.md +16 -0
  98. data/docs/DeprecatedManifest.md +33 -0
  99. data/docs/DhlExpressAccountSettings.md +21 -0
  100. data/docs/DhlExpressSettingsResponseBody.md +16 -0
  101. data/docs/DimensionUnit.md +16 -0
  102. data/docs/Dimensions.md +23 -0
  103. data/docs/DownloadsApi.md +71 -0
  104. data/docs/Error.md +23 -0
  105. data/docs/ErrorCode.md +16 -0
  106. data/docs/ErrorResponseBody.md +19 -0
  107. data/docs/ErrorSource.md +16 -0
  108. data/docs/ErrorType.md +16 -0
  109. data/docs/EstimateRatesRequestBody.md +16 -0
  110. data/docs/FedexAccountSettings.md +25 -0
  111. data/docs/FedexAccountSettingsRequestBody.md +16 -0
  112. data/docs/FedexPickupType.md +16 -0
  113. data/docs/FedexSettingsResponseBody.md +16 -0
  114. data/docs/GetBatchByExternalIdResponseBody.md +16 -0
  115. data/docs/GetBatchByIdResponseBody.md +16 -0
  116. data/docs/GetCarrierByIdResponseBody.md +16 -0
  117. data/docs/GetCarrierOptionsResponseBody.md +17 -0
  118. data/docs/GetCarrierSettingsResponseBody.md +45 -0
  119. data/docs/GetCarriersResponseBody.md +21 -0
  120. data/docs/GetInsuranceBalanceResponseBody.md +16 -0
  121. data/docs/GetLabelByExternalShipmentIdResponseBody.md +16 -0
  122. data/docs/GetLabelByIdResponseBody.md +16 -0
  123. data/docs/GetManifestByIdResponseBody.md +16 -0
  124. data/docs/GetPackageTypeByIdResponseBody.md +16 -0
  125. data/docs/GetRateByIdResponseBody.md +16 -0
  126. data/docs/GetShipmentByExternalIdResponseBody.md +16 -0
  127. data/docs/GetShipmentByIdResponseBody.md +16 -0
  128. data/docs/GetTrackingLogFromLabelResponseBody.md +16 -0
  129. data/docs/GetTrackingLogResponseBody.md +16 -0
  130. data/docs/GetWarehouseByIdResponseBody.md +16 -0
  131. data/docs/GetWebhookByIdResponseBody.md +16 -0
  132. data/docs/InsuranceApi.md +220 -0
  133. data/docs/InsuranceProvider.md +16 -0
  134. data/docs/InternationalShipmentOptions.md +21 -0
  135. data/docs/Label.md +81 -0
  136. data/docs/LabelChargeEvent.md +16 -0
  137. data/docs/LabelDownload.md +23 -0
  138. data/docs/LabelDownloadType.md +16 -0
  139. data/docs/LabelFormat.md +16 -0
  140. data/docs/LabelLayout.md +16 -0
  141. data/docs/LabelMessages.md +21 -0
  142. data/docs/LabelStatus.md +16 -0
  143. data/docs/LabelsApi.md +545 -0
  144. data/docs/Link.md +16 -0
  145. data/docs/ListBatchErrorsResponseBody.md +19 -0
  146. data/docs/ListBatchesResponseBody.md +25 -0
  147. data/docs/ListCarrierPackageTypesResponseBody.md +17 -0
  148. data/docs/ListCarrierServicesResponseBody.md +17 -0
  149. data/docs/ListCarriersResponseBody.md +17 -0
  150. data/docs/ListLabelsResponseBody.md +17 -0
  151. data/docs/ListManifestsResponseBody.md +25 -0
  152. data/docs/ListPackageTypesResponseBody.md +17 -0
  153. data/docs/ListShipmentErrorsResponseBody.md +19 -0
  154. data/docs/ListShipmentRatesResponseBody.md +16 -0
  155. data/docs/ListShipmentsResponseBody.md +25 -0
  156. data/docs/ListTagsResponseBody.md +17 -0
  157. data/docs/ListWarehousesResponseBody.md +17 -0
  158. data/docs/Manifest.md +33 -0
  159. data/docs/ManifestDownload.md +17 -0
  160. data/docs/Manifests.md +17 -0
  161. data/docs/ManifestsApi.md +191 -0
  162. data/docs/ModifyBatch.md +19 -0
  163. data/docs/MonetaryValue.md +19 -0
  164. data/docs/NonDelivery.md +16 -0
  165. data/docs/OptionalLink.md +19 -0
  166. data/docs/OrderSourceName.md +16 -0
  167. data/docs/Package.md +29 -0
  168. data/docs/PackageContents.md +16 -0
  169. data/docs/PackageType.md +25 -0
  170. data/docs/PackageTypesApi.md +281 -0
  171. data/docs/PagedListResponseBody.md +23 -0
  172. data/docs/PaginationLink.md +23 -0
  173. data/docs/ParseAddressRequestBody.md +19 -0
  174. data/docs/ParseAddressResponseBody.md +21 -0
  175. data/docs/ParseShipmentRequestBody.md +20 -0
  176. data/docs/ParseShipmentResponseBody.md +21 -0
  177. data/docs/PartialAddress.md +37 -0
  178. data/docs/PartialShipment.md +59 -0
  179. data/docs/PaymentAmount.md +19 -0
  180. data/docs/ProcessBatchRequestBody.md +21 -0
  181. data/docs/PurchaseLabelWithoutShipment.md +23 -0
  182. data/docs/Rate.md +65 -0
  183. data/docs/RateEstimateByCarrierId.md +17 -0
  184. data/docs/RateEstimateByCarrierIds.md +17 -0
  185. data/docs/RateEstimateOptions.md +41 -0
  186. data/docs/RateRequestBody.md +25 -0
  187. data/docs/RateRequestByShipmentIds.md +17 -0
  188. data/docs/RateRequestByShipments.md +17 -0
  189. data/docs/RateRequestOptions.md +17 -0
  190. data/docs/RateRequestRateOptions.md +17 -0
  191. data/docs/RateResponse.md +17 -0
  192. data/docs/RateResponseStatus.md +16 -0
  193. data/docs/RateType.md +16 -0
  194. data/docs/RatesApi.md +228 -0
  195. data/docs/RatesInformation.md +29 -0
  196. data/docs/RecognizedEntity.md +27 -0
  197. data/docs/RemoveFromBatchRequestBody.md +16 -0
  198. data/docs/ResponseMessage.md +23 -0
  199. data/docs/Service.md +29 -0
  200. data/docs/Shipment.md +16 -0
  201. data/docs/ShipmentIdRequest.md +17 -0
  202. data/docs/ShipmentItem.md +33 -0
  203. data/docs/ShipmentRequest.md +17 -0
  204. data/docs/ShipmentResponseError.md +21 -0
  205. data/docs/ShipmentStatus.md +16 -0
  206. data/docs/ShipmentsApi.md +653 -0
  207. data/docs/ShipmentsSortBy.md +16 -0
  208. data/docs/SmartPostHub.md +16 -0
  209. data/docs/SortDir.md +16 -0
  210. data/docs/Tag.md +17 -0
  211. data/docs/TagShipmentResponseBody.md +19 -0
  212. data/docs/TagsApi.md +226 -0
  213. data/docs/TrackEvent.md +39 -0
  214. data/docs/TrackingApi.md +185 -0
  215. data/docs/TrackingInformation.md +35 -0
  216. data/docs/TrackingStatus.md +16 -0
  217. data/docs/UpdateAmazonBuyShippingRequestBody.md +17 -0
  218. data/docs/UpdateCarrierSettingsRequestBody.md +51 -0
  219. data/docs/UpdateDhlExpressSettingsRequestBody.md +16 -0
  220. data/docs/UpdateFedexSettingsRequestBody.md +16 -0
  221. data/docs/UpdateNewgisticsSettingsRequestBody.md +19 -0
  222. data/docs/UpdatePackageTypeRequestBody.md +16 -0
  223. data/docs/UpdateShipmentFields.md +17 -0
  224. data/docs/UpdateShipmentRequestBody.md +61 -0
  225. data/docs/UpdateShipmentResponseBody.md +16 -0
  226. data/docs/UpdateUpsSettingsRequestBody.md +16 -0
  227. data/docs/UpdateWarehouseRequestBody.md +16 -0
  228. data/docs/UpdateWebhookRequestBody.md +17 -0
  229. data/docs/UpsAccountSettings.md +39 -0
  230. data/docs/UpsInvoice.md +23 -0
  231. data/docs/UpsPickupType.md +16 -0
  232. data/docs/UpsSettingsResponseBody.md +16 -0
  233. data/docs/ValidateAddress.md +16 -0
  234. data/docs/ValidateShipmentFields.md +17 -0
  235. data/docs/ValidationStatus.md +16 -0
  236. data/docs/VoidLabelResponseBody.md +19 -0
  237. data/docs/Warehouse.md +25 -0
  238. data/docs/WarehousesApi.md +281 -0
  239. data/docs/Webhook.md +21 -0
  240. data/docs/WebhookEvent.md +16 -0
  241. data/docs/WebhooksApi.md +281 -0
  242. data/docs/Weight.md +19 -0
  243. data/docs/WeightUnit.md +16 -0
  244. data/git_push.sh +58 -0
  245. data/lib/openapi_client.rb +278 -0
  246. data/lib/openapi_client/api/addresses_api.rb +150 -0
  247. data/lib/openapi_client/api/batches_api.rb +790 -0
  248. data/lib/openapi_client/api/carrier_accounts_api.rb +343 -0
  249. data/lib/openapi_client/api/carriers_api.rb +461 -0
  250. data/lib/openapi_client/api/downloads_api.rb +99 -0
  251. data/lib/openapi_client/api/insurance_api.rb +262 -0
  252. data/lib/openapi_client/api/labels_api.rb +812 -0
  253. data/lib/openapi_client/api/manifests_api.rb +278 -0
  254. data/lib/openapi_client/api/package_types_api.rb +375 -0
  255. data/lib/openapi_client/api/rates_api.rb +289 -0
  256. data/lib/openapi_client/api/shipments_api.rb +899 -0
  257. data/lib/openapi_client/api/tags_api.rb +286 -0
  258. data/lib/openapi_client/api/tracking_api.rb +232 -0
  259. data/lib/openapi_client/api/warehouses_api.rb +375 -0
  260. data/lib/openapi_client/api/webhooks_api.rb +375 -0
  261. data/lib/openapi_client/api_client.rb +388 -0
  262. data/lib/openapi_client/api_error.rb +57 -0
  263. data/lib/openapi_client/configuration.rb +248 -0
  264. data/lib/openapi_client/models/add_funds_to_carrier_request_body.rb +209 -0
  265. data/lib/openapi_client/models/add_funds_to_carrier_response_body.rb +213 -0
  266. data/lib/openapi_client/models/add_funds_to_insurance_request_body.rb +209 -0
  267. data/lib/openapi_client/models/add_funds_to_insurance_response_body.rb +209 -0
  268. data/lib/openapi_client/models/add_to_batch_request_body.rb +209 -0
  269. data/lib/openapi_client/models/address.rb +209 -0
  270. data/lib/openapi_client/models/address_residential_indicator.rb +37 -0
  271. data/lib/openapi_client/models/address_to_validate.rb +209 -0
  272. data/lib/openapi_client/models/address_validating_shipment.rb +484 -0
  273. data/lib/openapi_client/models/address_validation_code.rb +47 -0
  274. data/lib/openapi_client/models/address_validation_detail_code.rb +92 -0
  275. data/lib/openapi_client/models/address_validation_message_type.rb +37 -0
  276. data/lib/openapi_client/models/address_validation_result.rb +259 -0
  277. data/lib/openapi_client/models/address_validation_status.rb +38 -0
  278. data/lib/openapi_client/models/advanced_shipment_options.rb +434 -0
  279. data/lib/openapi_client/models/ancillary_service_endorsement.rb +40 -0
  280. data/lib/openapi_client/models/batch.rb +566 -0
  281. data/lib/openapi_client/models/batch_response_error.rb +233 -0
  282. data/lib/openapi_client/models/batch_status.rb +42 -0
  283. data/lib/openapi_client/models/batches_sort_by.rb +36 -0
  284. data/lib/openapi_client/models/bill_to_party.rb +36 -0
  285. data/lib/openapi_client/models/bulk_rate.rb +273 -0
  286. data/lib/openapi_client/models/calculate_rates_request_body.rb +225 -0
  287. data/lib/openapi_client/models/calculate_rates_response_body.rb +525 -0
  288. data/lib/openapi_client/models/carrier.rb +394 -0
  289. data/lib/openapi_client/models/carrier_advanced_option.rb +273 -0
  290. data/lib/openapi_client/models/carrier_name.rb +61 -0
  291. data/lib/openapi_client/models/carrier_name_with_settings.rb +38 -0
  292. data/lib/openapi_client/models/collect_on_delivery.rb +216 -0
  293. data/lib/openapi_client/models/collect_on_delivery_payment_type.rb +38 -0
  294. data/lib/openapi_client/models/compare_bulk_rates_request_body.rb +225 -0
  295. data/lib/openapi_client/models/connect_access_worldwide_request_body.rb +300 -0
  296. data/lib/openapi_client/models/connect_amazon_buy_shipping_request_body.rb +312 -0
  297. data/lib/openapi_client/models/connect_apc_request_body.rb +300 -0
  298. data/lib/openapi_client/models/connect_asendia_request_body.rb +334 -0
  299. data/lib/openapi_client/models/connect_australia_post_request_body.rb +334 -0
  300. data/lib/openapi_client/models/connect_canada_post_request_body.rb +368 -0
  301. data/lib/openapi_client/models/connect_carrier_request_body.rb +1661 -0
  302. data/lib/openapi_client/models/connect_carrier_response_body.rb +213 -0
  303. data/lib/openapi_client/models/connect_dhl_ecommerce_request_body.rb +536 -0
  304. data/lib/openapi_client/models/connect_dhl_express_au_request_body.rb +266 -0
  305. data/lib/openapi_client/models/connect_dhl_express_ca_request_body.rb +266 -0
  306. data/lib/openapi_client/models/connect_dhl_express_request_body.rb +266 -0
  307. data/lib/openapi_client/models/connect_dhl_express_uk_request_body.rb +315 -0
  308. data/lib/openapi_client/models/connect_dpd_request_body.rb +300 -0
  309. data/lib/openapi_client/models/connect_endicia_request_body.rb +300 -0
  310. data/lib/openapi_client/models/connect_fedex_request_body.rb +643 -0
  311. data/lib/openapi_client/models/connect_fedex_uk_request_body.rb +643 -0
  312. data/lib/openapi_client/models/connect_firstmile_request_body.rb +306 -0
  313. data/lib/openapi_client/models/connect_globegistics_request_body.rb +300 -0
  314. data/lib/openapi_client/models/connect_imex_request_body.rb +300 -0
  315. data/lib/openapi_client/models/connect_insurer_request_body.rb +245 -0
  316. data/lib/openapi_client/models/connect_newgistics_request_body.rb +316 -0
  317. data/lib/openapi_client/models/connect_ontrac_request_body.rb +300 -0
  318. data/lib/openapi_client/models/connect_purolator_request_body.rb +300 -0
  319. data/lib/openapi_client/models/connect_royal_mail_request_body.rb +513 -0
  320. data/lib/openapi_client/models/connect_rr_donnelley_request_body.rb +300 -0
  321. data/lib/openapi_client/models/connect_seko_request_body.rb +266 -0
  322. data/lib/openapi_client/models/connect_sendle_request_body.rb +281 -0
  323. data/lib/openapi_client/models/connect_stamps_request_body.rb +300 -0
  324. data/lib/openapi_client/models/connect_ups_request_body.rb +730 -0
  325. data/lib/openapi_client/models/create_and_validate_shipment.rb +472 -0
  326. data/lib/openapi_client/models/create_batch_request_body.rb +257 -0
  327. data/lib/openapi_client/models/create_batch_response_body.rb +209 -0
  328. data/lib/openapi_client/models/create_label_from_rate_request_body.rb +209 -0
  329. data/lib/openapi_client/models/create_label_from_rate_response_body.rb +209 -0
  330. data/lib/openapi_client/models/create_label_from_shipment_request_body.rb +234 -0
  331. data/lib/openapi_client/models/create_label_from_shipment_response_body.rb +209 -0
  332. data/lib/openapi_client/models/create_label_request_body.rb +209 -0
  333. data/lib/openapi_client/models/create_label_response_body.rb +209 -0
  334. data/lib/openapi_client/models/create_manifest_by_object_request_body.rb +267 -0
  335. data/lib/openapi_client/models/create_manifest_label_ids_request_body.rb +215 -0
  336. data/lib/openapi_client/models/create_manifest_request_body.rb +295 -0
  337. data/lib/openapi_client/models/create_manifest_response_body.rb +389 -0
  338. data/lib/openapi_client/models/create_package_type_request_body.rb +209 -0
  339. data/lib/openapi_client/models/create_package_type_response_body.rb +209 -0
  340. data/lib/openapi_client/models/create_return_label_request_body.rb +248 -0
  341. data/lib/openapi_client/models/create_return_label_response_body.rb +209 -0
  342. data/lib/openapi_client/models/create_shipment_response_body_fields.rb +219 -0
  343. data/lib/openapi_client/models/create_shipments_request_body.rb +215 -0
  344. data/lib/openapi_client/models/create_shipments_response_body.rb +232 -0
  345. data/lib/openapi_client/models/create_tag_response_body.rb +209 -0
  346. data/lib/openapi_client/models/create_warehouse_request_body.rb +209 -0
  347. data/lib/openapi_client/models/create_warehouse_response_body.rb +209 -0
  348. data/lib/openapi_client/models/create_webhook_request_body.rb +227 -0
  349. data/lib/openapi_client/models/create_webhook_response_body.rb +209 -0
  350. data/lib/openapi_client/models/currency.rb +40 -0
  351. data/lib/openapi_client/models/customs_item.rb +334 -0
  352. data/lib/openapi_client/models/delivery_confirmation.rb +40 -0
  353. data/lib/openapi_client/models/deprecated_manifest.rb +317 -0
  354. data/lib/openapi_client/models/dhl_express_account_settings.rb +243 -0
  355. data/lib/openapi_client/models/dhl_express_settings_response_body.rb +209 -0
  356. data/lib/openapi_client/models/dimension_unit.rb +36 -0
  357. data/lib/openapi_client/models/dimensions.rb +320 -0
  358. data/lib/openapi_client/models/error.rb +274 -0
  359. data/lib/openapi_client/models/error_code.rb +71 -0
  360. data/lib/openapi_client/models/error_response_body.rb +230 -0
  361. data/lib/openapi_client/models/error_source.rb +37 -0
  362. data/lib/openapi_client/models/error_type.rb +40 -0
  363. data/lib/openapi_client/models/estimate_rates_request_body.rb +225 -0
  364. data/lib/openapi_client/models/fedex_account_settings.rb +259 -0
  365. data/lib/openapi_client/models/fedex_account_settings_request_body.rb +209 -0
  366. data/lib/openapi_client/models/fedex_pickup_type.rb +40 -0
  367. data/lib/openapi_client/models/fedex_settings_response_body.rb +209 -0
  368. data/lib/openapi_client/models/get_batch_by_external_id_response_body.rb +209 -0
  369. data/lib/openapi_client/models/get_batch_by_id_response_body.rb +209 -0
  370. data/lib/openapi_client/models/get_carrier_by_id_response_body.rb +209 -0
  371. data/lib/openapi_client/models/get_carrier_options_response_body.rb +210 -0
  372. data/lib/openapi_client/models/get_carrier_settings_response_body.rb +413 -0
  373. data/lib/openapi_client/models/get_carriers_response_body.rb +254 -0
  374. data/lib/openapi_client/models/get_insurance_balance_response_body.rb +209 -0
  375. data/lib/openapi_client/models/get_label_by_external_shipment_id_response_body.rb +209 -0
  376. data/lib/openapi_client/models/get_label_by_id_response_body.rb +209 -0
  377. data/lib/openapi_client/models/get_manifest_by_id_response_body.rb +209 -0
  378. data/lib/openapi_client/models/get_package_type_by_id_response_body.rb +209 -0
  379. data/lib/openapi_client/models/get_rate_by_id_response_body.rb +209 -0
  380. data/lib/openapi_client/models/get_shipment_by_external_id_response_body.rb +209 -0
  381. data/lib/openapi_client/models/get_shipment_by_id_response_body.rb +209 -0
  382. data/lib/openapi_client/models/get_tracking_log_from_label_response_body.rb +209 -0
  383. data/lib/openapi_client/models/get_tracking_log_response_body.rb +209 -0
  384. data/lib/openapi_client/models/get_warehouse_by_id_response_body.rb +209 -0
  385. data/lib/openapi_client/models/get_webhook_by_id_response_body.rb +209 -0
  386. data/lib/openapi_client/models/insurance_provider.rb +38 -0
  387. data/lib/openapi_client/models/international_shipment_options.rb +240 -0
  388. data/lib/openapi_client/models/label.rb +548 -0
  389. data/lib/openapi_client/models/label_charge_event.rb +37 -0
  390. data/lib/openapi_client/models/label_download.rb +238 -0
  391. data/lib/openapi_client/models/label_download_type.rb +36 -0
  392. data/lib/openapi_client/models/label_format.rb +37 -0
  393. data/lib/openapi_client/models/label_layout.rb +36 -0
  394. data/lib/openapi_client/models/label_messages.rb +237 -0
  395. data/lib/openapi_client/models/label_status.rb +38 -0
  396. data/lib/openapi_client/models/link.rb +209 -0
  397. data/lib/openapi_client/models/list_batch_errors_response_body.rb +229 -0
  398. data/lib/openapi_client/models/list_batches_response_body.rb +331 -0
  399. data/lib/openapi_client/models/list_carrier_package_types_response_body.rb +210 -0
  400. data/lib/openapi_client/models/list_carrier_services_response_body.rb +210 -0
  401. data/lib/openapi_client/models/list_carriers_response_body.rb +215 -0
  402. data/lib/openapi_client/models/list_labels_response_body.rb +226 -0
  403. data/lib/openapi_client/models/list_manifests_response_body.rb +332 -0
  404. data/lib/openapi_client/models/list_package_types_response_body.rb +210 -0
  405. data/lib/openapi_client/models/list_shipment_errors_response_body.rb +229 -0
  406. data/lib/openapi_client/models/list_shipment_rates_response_body.rb +209 -0
  407. data/lib/openapi_client/models/list_shipments_response_body.rb +329 -0
  408. data/lib/openapi_client/models/list_tags_response_body.rb +210 -0
  409. data/lib/openapi_client/models/list_warehouses_response_body.rb +215 -0
  410. data/lib/openapi_client/models/manifest.rb +317 -0
  411. data/lib/openapi_client/models/manifest_download.rb +208 -0
  412. data/lib/openapi_client/models/manifests.rb +209 -0
  413. data/lib/openapi_client/models/modify_batch.rb +222 -0
  414. data/lib/openapi_client/models/monetary_value.rb +246 -0
  415. data/lib/openapi_client/models/non_delivery.rb +36 -0
  416. data/lib/openapi_client/models/optional_link.rb +233 -0
  417. data/lib/openapi_client/models/order_source_name.rb +54 -0
  418. data/lib/openapi_client/models/package.rb +287 -0
  419. data/lib/openapi_client/models/package_contents.rb +39 -0
  420. data/lib/openapi_client/models/package_type.rb +276 -0
  421. data/lib/openapi_client/models/paged_list_response_body.rb +314 -0
  422. data/lib/openapi_client/models/pagination_link.rb +258 -0
  423. data/lib/openapi_client/models/parse_address_request_body.rb +242 -0
  424. data/lib/openapi_client/models/parse_address_response_body.rb +273 -0
  425. data/lib/openapi_client/models/parse_shipment_request_body.rb +242 -0
  426. data/lib/openapi_client/models/parse_shipment_response_body.rb +273 -0
  427. data/lib/openapi_client/models/partial_address.rb +432 -0
  428. data/lib/openapi_client/models/partial_shipment.rb +442 -0
  429. data/lib/openapi_client/models/payment_amount.rb +230 -0
  430. data/lib/openapi_client/models/process_batch_request_body.rb +228 -0
  431. data/lib/openapi_client/models/purchase_label_without_shipment.rb +234 -0
  432. data/lib/openapi_client/models/rate.rb +696 -0
  433. data/lib/openapi_client/models/rate_estimate_by_carrier_id.rb +207 -0
  434. data/lib/openapi_client/models/rate_estimate_by_carrier_ids.rb +209 -0
  435. data/lib/openapi_client/models/rate_estimate_options.rb +381 -0
  436. data/lib/openapi_client/models/rate_request_body.rb +256 -0
  437. data/lib/openapi_client/models/rate_request_by_shipment_ids.rb +214 -0
  438. data/lib/openapi_client/models/rate_request_by_shipments.rb +214 -0
  439. data/lib/openapi_client/models/rate_request_options.rb +207 -0
  440. data/lib/openapi_client/models/rate_request_rate_options.rb +207 -0
  441. data/lib/openapi_client/models/rate_response.rb +207 -0
  442. data/lib/openapi_client/models/rate_response_status.rb +38 -0
  443. data/lib/openapi_client/models/rate_type.rb +36 -0
  444. data/lib/openapi_client/models/rates_information.rb +272 -0
  445. data/lib/openapi_client/models/recognized_entity.rb +389 -0
  446. data/lib/openapi_client/models/remove_from_batch_request_body.rb +209 -0
  447. data/lib/openapi_client/models/response_message.rb +251 -0
  448. data/lib/openapi_client/models/service.rb +297 -0
  449. data/lib/openapi_client/models/shipment.rb +209 -0
  450. data/lib/openapi_client/models/shipment_id_request.rb +207 -0
  451. data/lib/openapi_client/models/shipment_item.rb +347 -0
  452. data/lib/openapi_client/models/shipment_request.rb +207 -0
  453. data/lib/openapi_client/models/shipment_response_error.rb +257 -0
  454. data/lib/openapi_client/models/shipment_status.rb +38 -0
  455. data/lib/openapi_client/models/shipments_sort_by.rb +36 -0
  456. data/lib/openapi_client/models/smart_post_hub.rb +68 -0
  457. data/lib/openapi_client/models/sort_dir.rb +36 -0
  458. data/lib/openapi_client/models/tag.rb +232 -0
  459. data/lib/openapi_client/models/tag_shipment_response_body.rb +228 -0
  460. data/lib/openapi_client/models/track_event.rb +502 -0
  461. data/lib/openapi_client/models/tracking_information.rb +371 -0
  462. data/lib/openapi_client/models/tracking_status.rb +38 -0
  463. data/lib/openapi_client/models/update_amazon_buy_shipping_request_body.rb +223 -0
  464. data/lib/openapi_client/models/update_carrier_settings_request_body.rb +458 -0
  465. data/lib/openapi_client/models/update_dhl_express_settings_request_body.rb +209 -0
  466. data/lib/openapi_client/models/update_fedex_settings_request_body.rb +209 -0
  467. data/lib/openapi_client/models/update_newgistics_settings_request_body.rb +216 -0
  468. data/lib/openapi_client/models/update_package_type_request_body.rb +209 -0
  469. data/lib/openapi_client/models/update_shipment_fields.rb +206 -0
  470. data/lib/openapi_client/models/update_shipment_request_body.rb +469 -0
  471. data/lib/openapi_client/models/update_shipment_response_body.rb +209 -0
  472. data/lib/openapi_client/models/update_ups_settings_request_body.rb +209 -0
  473. data/lib/openapi_client/models/update_warehouse_request_body.rb +209 -0
  474. data/lib/openapi_client/models/update_webhook_request_body.rb +208 -0
  475. data/lib/openapi_client/models/ups_account_settings.rb +361 -0
  476. data/lib/openapi_client/models/ups_invoice.rb +267 -0
  477. data/lib/openapi_client/models/ups_pickup_type.rb +37 -0
  478. data/lib/openapi_client/models/ups_settings_response_body.rb +209 -0
  479. data/lib/openapi_client/models/validate_address.rb +37 -0
  480. data/lib/openapi_client/models/validate_shipment_fields.rb +206 -0
  481. data/lib/openapi_client/models/validation_status.rb +38 -0
  482. data/lib/openapi_client/models/void_label_response_body.rb +246 -0
  483. data/lib/openapi_client/models/warehouse.rb +263 -0
  484. data/lib/openapi_client/models/webhook.rb +227 -0
  485. data/lib/openapi_client/models/webhook_event.rb +41 -0
  486. data/lib/openapi_client/models/weight.rb +246 -0
  487. data/lib/openapi_client/models/weight_unit.rb +38 -0
  488. data/lib/openapi_client/version.rb +15 -0
  489. data/openapi_client.gemspec +39 -0
  490. data/spec/api/addresses_api_spec.rb +59 -0
  491. data/spec/api/batches_api_spec.rb +164 -0
  492. data/spec/api/carrier_accounts_api_spec.rb +88 -0
  493. data/spec/api/carriers_api_spec.rb +107 -0
  494. data/spec/api/downloads_api_spec.rb +50 -0
  495. data/spec/api/insurance_api_spec.rb +81 -0
  496. data/spec/api/labels_api_spec.rb +161 -0
  497. data/spec/api/manifests_api_spec.rb +79 -0
  498. data/spec/api/package_types_api_spec.rb +95 -0
  499. data/spec/api/rates_api_spec.rb +83 -0
  500. data/spec/api/shipments_api_spec.rb +184 -0
  501. data/spec/api/tags_api_spec.rb +83 -0
  502. data/spec/api/tracking_api_spec.rb +74 -0
  503. data/spec/api/warehouses_api_spec.rb +95 -0
  504. data/spec/api/webhooks_api_spec.rb +95 -0
  505. data/spec/api_client_spec.rb +226 -0
  506. data/spec/configuration_spec.rb +42 -0
  507. data/spec/models/add_funds_to_carrier_request_body_spec.rb +35 -0
  508. data/spec/models/add_funds_to_carrier_response_body_spec.rb +41 -0
  509. data/spec/models/add_funds_to_insurance_request_body_spec.rb +35 -0
  510. data/spec/models/add_funds_to_insurance_response_body_spec.rb +35 -0
  511. data/spec/models/add_to_batch_request_body_spec.rb +35 -0
  512. data/spec/models/address_residential_indicator_spec.rb +35 -0
  513. data/spec/models/address_spec.rb +35 -0
  514. data/spec/models/address_to_validate_spec.rb +35 -0
  515. data/spec/models/address_validating_shipment_spec.rb +173 -0
  516. data/spec/models/address_validation_code_spec.rb +35 -0
  517. data/spec/models/address_validation_detail_code_spec.rb +35 -0
  518. data/spec/models/address_validation_message_type_spec.rb +35 -0
  519. data/spec/models/address_validation_result_spec.rb +59 -0
  520. data/spec/models/address_validation_status_spec.rb +35 -0
  521. data/spec/models/advanced_shipment_options_spec.rb +131 -0
  522. data/spec/models/ancillary_service_endorsement_spec.rb +35 -0
  523. data/spec/models/batch_response_error_spec.rb +47 -0
  524. data/spec/models/batch_spec.rb +143 -0
  525. data/spec/models/batch_status_spec.rb +35 -0
  526. data/spec/models/batches_sort_by_spec.rb +35 -0
  527. data/spec/models/bill_to_party_spec.rb +35 -0
  528. data/spec/models/bulk_rate_spec.rb +65 -0
  529. data/spec/models/calculate_rates_request_body_spec.rb +35 -0
  530. data/spec/models/calculate_rates_response_body_spec.rb +173 -0
  531. data/spec/models/carrier_advanced_option_spec.rb +53 -0
  532. data/spec/models/carrier_name_spec.rb +35 -0
  533. data/spec/models/carrier_name_with_settings_spec.rb +35 -0
  534. data/spec/models/carrier_spec.rb +113 -0
  535. data/spec/models/collect_on_delivery_payment_type_spec.rb +35 -0
  536. data/spec/models/collect_on_delivery_spec.rb +47 -0
  537. data/spec/models/compare_bulk_rates_request_body_spec.rb +35 -0
  538. data/spec/models/connect_access_worldwide_request_body_spec.rb +53 -0
  539. data/spec/models/connect_amazon_buy_shipping_request_body_spec.rb +59 -0
  540. data/spec/models/connect_apc_request_body_spec.rb +53 -0
  541. data/spec/models/connect_asendia_request_body_spec.rb +59 -0
  542. data/spec/models/connect_australia_post_request_body_spec.rb +59 -0
  543. data/spec/models/connect_canada_post_request_body_spec.rb +65 -0
  544. data/spec/models/connect_carrier_request_body_spec.rb +329 -0
  545. data/spec/models/connect_carrier_response_body_spec.rb +41 -0
  546. data/spec/models/connect_dhl_ecommerce_request_body_spec.rb +107 -0
  547. data/spec/models/connect_dhl_express_au_request_body_spec.rb +47 -0
  548. data/spec/models/connect_dhl_express_ca_request_body_spec.rb +47 -0
  549. data/spec/models/connect_dhl_express_request_body_spec.rb +47 -0
  550. data/spec/models/connect_dhl_express_uk_request_body_spec.rb +59 -0
  551. data/spec/models/connect_dpd_request_body_spec.rb +53 -0
  552. data/spec/models/connect_endicia_request_body_spec.rb +53 -0
  553. data/spec/models/connect_fedex_request_body_spec.rb +125 -0
  554. data/spec/models/connect_fedex_uk_request_body_spec.rb +125 -0
  555. data/spec/models/connect_firstmile_request_body_spec.rb +59 -0
  556. data/spec/models/connect_globegistics_request_body_spec.rb +53 -0
  557. data/spec/models/connect_imex_request_body_spec.rb +53 -0
  558. data/spec/models/connect_insurer_request_body_spec.rb +47 -0
  559. data/spec/models/connect_newgistics_request_body_spec.rb +59 -0
  560. data/spec/models/connect_ontrac_request_body_spec.rb +53 -0
  561. data/spec/models/connect_purolator_request_body_spec.rb +53 -0
  562. data/spec/models/connect_royal_mail_request_body_spec.rb +107 -0
  563. data/spec/models/connect_rr_donnelley_request_body_spec.rb +53 -0
  564. data/spec/models/connect_seko_request_body_spec.rb +47 -0
  565. data/spec/models/connect_sendle_request_body_spec.rb +53 -0
  566. data/spec/models/connect_stamps_request_body_spec.rb +53 -0
  567. data/spec/models/connect_ups_request_body_spec.rb +143 -0
  568. data/spec/models/create_and_validate_shipment_spec.rb +179 -0
  569. data/spec/models/create_batch_request_body_spec.rb +59 -0
  570. data/spec/models/create_batch_response_body_spec.rb +35 -0
  571. data/spec/models/create_label_from_rate_request_body_spec.rb +35 -0
  572. data/spec/models/create_label_from_rate_response_body_spec.rb +35 -0
  573. data/spec/models/create_label_from_shipment_request_body_spec.rb +59 -0
  574. data/spec/models/create_label_from_shipment_response_body_spec.rb +35 -0
  575. data/spec/models/create_label_request_body_spec.rb +35 -0
  576. data/spec/models/create_label_response_body_spec.rb +35 -0
  577. data/spec/models/create_manifest_by_object_request_body_spec.rb +65 -0
  578. data/spec/models/create_manifest_label_ids_request_body_spec.rb +41 -0
  579. data/spec/models/create_manifest_request_body_spec.rb +65 -0
  580. data/spec/models/create_manifest_response_body_spec.rb +95 -0
  581. data/spec/models/create_package_type_request_body_spec.rb +35 -0
  582. data/spec/models/create_package_type_response_body_spec.rb +35 -0
  583. data/spec/models/create_return_label_request_body_spec.rb +65 -0
  584. data/spec/models/create_return_label_response_body_spec.rb +35 -0
  585. data/spec/models/create_shipment_response_body_fields_spec.rb +47 -0
  586. data/spec/models/create_shipments_request_body_spec.rb +41 -0
  587. data/spec/models/create_shipments_response_body_spec.rb +47 -0
  588. data/spec/models/create_tag_response_body_spec.rb +35 -0
  589. data/spec/models/create_warehouse_request_body_spec.rb +35 -0
  590. data/spec/models/create_warehouse_response_body_spec.rb +35 -0
  591. data/spec/models/create_webhook_request_body_spec.rb +47 -0
  592. data/spec/models/create_webhook_response_body_spec.rb +35 -0
  593. data/spec/models/currency_spec.rb +35 -0
  594. data/spec/models/customs_item_spec.rb +89 -0
  595. data/spec/models/delivery_confirmation_spec.rb +35 -0
  596. data/spec/models/deprecated_manifest_spec.rb +89 -0
  597. data/spec/models/dhl_express_account_settings_spec.rb +53 -0
  598. data/spec/models/dhl_express_settings_response_body_spec.rb +35 -0
  599. data/spec/models/dimension_unit_spec.rb +35 -0
  600. data/spec/models/dimensions_spec.rb +59 -0
  601. data/spec/models/error_code_spec.rb +35 -0
  602. data/spec/models/error_response_body_spec.rb +47 -0
  603. data/spec/models/error_source_spec.rb +35 -0
  604. data/spec/models/error_spec.rb +59 -0
  605. data/spec/models/error_type_spec.rb +35 -0
  606. data/spec/models/estimate_rates_request_body_spec.rb +35 -0
  607. data/spec/models/fedex_account_settings_request_body_spec.rb +35 -0
  608. data/spec/models/fedex_account_settings_spec.rb +65 -0
  609. data/spec/models/fedex_pickup_type_spec.rb +35 -0
  610. data/spec/models/fedex_settings_response_body_spec.rb +35 -0
  611. data/spec/models/get_batch_by_external_id_response_body_spec.rb +35 -0
  612. data/spec/models/get_batch_by_id_response_body_spec.rb +35 -0
  613. data/spec/models/get_carrier_by_id_response_body_spec.rb +35 -0
  614. data/spec/models/get_carrier_options_response_body_spec.rb +41 -0
  615. data/spec/models/get_carrier_settings_response_body_spec.rb +125 -0
  616. data/spec/models/get_carriers_response_body_spec.rb +53 -0
  617. data/spec/models/get_insurance_balance_response_body_spec.rb +35 -0
  618. data/spec/models/get_label_by_external_shipment_id_response_body_spec.rb +35 -0
  619. data/spec/models/get_label_by_id_response_body_spec.rb +35 -0
  620. data/spec/models/get_manifest_by_id_response_body_spec.rb +35 -0
  621. data/spec/models/get_package_type_by_id_response_body_spec.rb +35 -0
  622. data/spec/models/get_rate_by_id_response_body_spec.rb +35 -0
  623. data/spec/models/get_shipment_by_external_id_response_body_spec.rb +35 -0
  624. data/spec/models/get_shipment_by_id_response_body_spec.rb +35 -0
  625. data/spec/models/get_tracking_log_from_label_response_body_spec.rb +35 -0
  626. data/spec/models/get_tracking_log_response_body_spec.rb +35 -0
  627. data/spec/models/get_warehouse_by_id_response_body_spec.rb +35 -0
  628. data/spec/models/get_webhook_by_id_response_body_spec.rb +35 -0
  629. data/spec/models/insurance_provider_spec.rb +35 -0
  630. data/spec/models/international_shipment_options_spec.rb +53 -0
  631. data/spec/models/label_charge_event_spec.rb +35 -0
  632. data/spec/models/label_download_spec.rb +59 -0
  633. data/spec/models/label_download_type_spec.rb +35 -0
  634. data/spec/models/label_format_spec.rb +35 -0
  635. data/spec/models/label_layout_spec.rb +35 -0
  636. data/spec/models/label_messages_spec.rb +53 -0
  637. data/spec/models/label_spec.rb +233 -0
  638. data/spec/models/label_status_spec.rb +35 -0
  639. data/spec/models/link_spec.rb +35 -0
  640. data/spec/models/list_batch_errors_response_body_spec.rb +47 -0
  641. data/spec/models/list_batches_response_body_spec.rb +65 -0
  642. data/spec/models/list_carrier_package_types_response_body_spec.rb +41 -0
  643. data/spec/models/list_carrier_services_response_body_spec.rb +41 -0
  644. data/spec/models/list_carriers_response_body_spec.rb +41 -0
  645. data/spec/models/list_labels_response_body_spec.rb +41 -0
  646. data/spec/models/list_manifests_response_body_spec.rb +65 -0
  647. data/spec/models/list_package_types_response_body_spec.rb +41 -0
  648. data/spec/models/list_shipment_errors_response_body_spec.rb +47 -0
  649. data/spec/models/list_shipment_rates_response_body_spec.rb +35 -0
  650. data/spec/models/list_shipments_response_body_spec.rb +65 -0
  651. data/spec/models/list_tags_response_body_spec.rb +41 -0
  652. data/spec/models/list_warehouses_response_body_spec.rb +41 -0
  653. data/spec/models/manifest_download_spec.rb +41 -0
  654. data/spec/models/manifest_spec.rb +89 -0
  655. data/spec/models/manifests_spec.rb +41 -0
  656. data/spec/models/modify_batch_spec.rb +47 -0
  657. data/spec/models/monetary_value_spec.rb +47 -0
  658. data/spec/models/non_delivery_spec.rb +35 -0
  659. data/spec/models/optional_link_spec.rb +47 -0
  660. data/spec/models/order_source_name_spec.rb +35 -0
  661. data/spec/models/package_contents_spec.rb +35 -0
  662. data/spec/models/package_spec.rb +77 -0
  663. data/spec/models/package_type_spec.rb +65 -0
  664. data/spec/models/paged_list_response_body_spec.rb +59 -0
  665. data/spec/models/pagination_link_spec.rb +59 -0
  666. data/spec/models/parse_address_request_body_spec.rb +47 -0
  667. data/spec/models/parse_address_response_body_spec.rb +53 -0
  668. data/spec/models/parse_shipment_request_body_spec.rb +47 -0
  669. data/spec/models/parse_shipment_response_body_spec.rb +53 -0
  670. data/spec/models/partial_address_spec.rb +101 -0
  671. data/spec/models/partial_shipment_spec.rb +167 -0
  672. data/spec/models/payment_amount_spec.rb +47 -0
  673. data/spec/models/process_batch_request_body_spec.rb +53 -0
  674. data/spec/models/purchase_label_without_shipment_spec.rb +59 -0
  675. data/spec/models/rate_estimate_by_carrier_id_spec.rb +41 -0
  676. data/spec/models/rate_estimate_by_carrier_ids_spec.rb +41 -0
  677. data/spec/models/rate_estimate_options_spec.rb +113 -0
  678. data/spec/models/rate_request_body_spec.rb +65 -0
  679. data/spec/models/rate_request_by_shipment_ids_spec.rb +41 -0
  680. data/spec/models/rate_request_by_shipments_spec.rb +41 -0
  681. data/spec/models/rate_request_options_spec.rb +41 -0
  682. data/spec/models/rate_request_rate_options_spec.rb +41 -0
  683. data/spec/models/rate_response_spec.rb +41 -0
  684. data/spec/models/rate_response_status_spec.rb +35 -0
  685. data/spec/models/rate_spec.rb +185 -0
  686. data/spec/models/rate_type_spec.rb +35 -0
  687. data/spec/models/rates_information_spec.rb +77 -0
  688. data/spec/models/recognized_entity_spec.rb +71 -0
  689. data/spec/models/remove_from_batch_request_body_spec.rb +35 -0
  690. data/spec/models/response_message_spec.rb +59 -0
  691. data/spec/models/service_spec.rb +77 -0
  692. data/spec/models/shipment_id_request_spec.rb +41 -0
  693. data/spec/models/shipment_item_spec.rb +89 -0
  694. data/spec/models/shipment_request_spec.rb +41 -0
  695. data/spec/models/shipment_response_error_spec.rb +53 -0
  696. data/spec/models/shipment_spec.rb +35 -0
  697. data/spec/models/shipment_status_spec.rb +35 -0
  698. data/spec/models/shipments_sort_by_spec.rb +35 -0
  699. data/spec/models/smart_post_hub_spec.rb +35 -0
  700. data/spec/models/sort_dir_spec.rb +35 -0
  701. data/spec/models/tag_shipment_response_body_spec.rb +47 -0
  702. data/spec/models/tag_spec.rb +41 -0
  703. data/spec/models/track_event_spec.rb +107 -0
  704. data/spec/models/tracking_information_spec.rb +95 -0
  705. data/spec/models/tracking_status_spec.rb +35 -0
  706. data/spec/models/update_amazon_buy_shipping_request_body_spec.rb +41 -0
  707. data/spec/models/update_carrier_settings_request_body_spec.rb +143 -0
  708. data/spec/models/update_dhl_express_settings_request_body_spec.rb +35 -0
  709. data/spec/models/update_fedex_settings_request_body_spec.rb +35 -0
  710. data/spec/models/update_newgistics_settings_request_body_spec.rb +47 -0
  711. data/spec/models/update_package_type_request_body_spec.rb +35 -0
  712. data/spec/models/update_shipment_fields_spec.rb +41 -0
  713. data/spec/models/update_shipment_request_body_spec.rb +173 -0
  714. data/spec/models/update_shipment_response_body_spec.rb +35 -0
  715. data/spec/models/update_ups_settings_request_body_spec.rb +35 -0
  716. data/spec/models/update_warehouse_request_body_spec.rb +35 -0
  717. data/spec/models/update_webhook_request_body_spec.rb +41 -0
  718. data/spec/models/ups_account_settings_spec.rb +107 -0
  719. data/spec/models/ups_invoice_spec.rb +59 -0
  720. data/spec/models/ups_pickup_type_spec.rb +35 -0
  721. data/spec/models/ups_settings_response_body_spec.rb +35 -0
  722. data/spec/models/validate_address_spec.rb +35 -0
  723. data/spec/models/validate_shipment_fields_spec.rb +41 -0
  724. data/spec/models/validation_status_spec.rb +35 -0
  725. data/spec/models/void_label_response_body_spec.rb +47 -0
  726. data/spec/models/warehouse_spec.rb +65 -0
  727. data/spec/models/webhook_event_spec.rb +35 -0
  728. data/spec/models/webhook_spec.rb +53 -0
  729. data/spec/models/weight_spec.rb +47 -0
  730. data/spec/models/weight_unit_spec.rb +35 -0
  731. data/spec/spec_helper.rb +111 -0
  732. metadata +1109 -0
@@ -0,0 +1,458 @@
1
+ =begin
2
+ #ShipEngine API
3
+
4
+ #ShipEngine's easy-to-use REST API lets you manage all of your shipping needs without worrying about the complexities of different carrier APIs and protocols. We handle all the heavy lifting so you can focus on providing a first-class shipping experience for your customers at the best possible prices. Each of ShipEngine's features can be used by itself or in conjunction with each other to build powerful shipping functionality into your application or service. ## Getting Started If you're new to REST APIs then be sure to read our [introduction to REST](https://www.shipengine.com/docs/rest/) to understand the basics. Learn how to [authenticate yourself to ShipEngine](https://www.shipengine.com/docs/auth/), and then use our [sandbox environment](https://www.shipengine.com/docs/sandbox/) to kick the tires and get familiar with our API. If you run into any problems, then be sure to check the [error handling guide](https://www.shipengine.com/docs/errors/) for tips. Here are some step-by-step **tutorials** to get you started: - [Learn how to create your first shipping label](https://www.shipengine.com/docs/labels/create-a-label/) - [Calculate shipping costs and compare rates across carriers](https://www.shipengine.com/docs/rates/) - [Track packages on-demand or in real time](https://www.shipengine.com/docs/tracking/) - [Validate mailing addresses anywhere on Earth](https://www.shipengine.com/docs/addresses/validation/) ## Shipping Labels for Every Major Carrier ShipEngine makes it easy to [create shipping labels for any carrier](https://www.shipengine.com/docs/labels/create-a-label/) and [download them](https://www.shipengine.com/docs/labels/downloading/) in a [variety of file formats](https://www.shipengine.com/docs/labels/formats/). You can even customize labels with your own [messages](https://www.shipengine.com/docs/labels/messages/) and [images](https://www.shipengine.com/docs/labels/branding/). ## Real-Time Package Tracking With ShipEngine you can [get the current status of a package](https://www.shipengine.com/docs/tracking/) or [subscribe to real-time tracking updates](https://www.shipengine.com/docs/tracking/webhooks/) via webhooks. You can also create [custimized tracking pages](https://www.shipengine.com/docs/tracking/branded-tracking-page/) with your own branding so your customers will always know where their package is. ## Compare Shipping Costs Across Carriers Make sure you ship as cost-effectively as possible by [comparing rates across carriers](https://www.shipengine.com/docs/rates/get-shipment-rates/) using the ShipEngine Rates API. Or if you don't know the full shipment details yet, then you can [get rate estimates](https://www.shipengine.com/docs/rates/estimate/) with limited address info. ## Worldwide Address Validation ShipEngine supports [address validation](https://www.shipengine.com/docs/addresses/validation/) for virtually [every country on Earth](https://www.shipengine.com/docs/addresses/validation/countries/), including the United States, Canada, Great Britain, Australia, Germany, France, Norway, Spain, Sweden, Israel, Italy, and over 160 others.
5
+
6
+ The version of the OpenAPI document: 1.1.202006302006
7
+ Contact: sales@shipengine.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module OpenapiClient
16
+ class UpdateCarrierSettingsRequestBody
17
+ # nickname
18
+ attr_accessor :nickname
19
+
20
+ # Indicates if the account number should be hidden on the archive documentation
21
+ attr_accessor :should_hide_account_number_on_archive_doc
22
+
23
+ # Indicates if this is the primary UPS account
24
+ attr_accessor :is_primary_account
25
+
26
+ attr_accessor :pickup_type
27
+
28
+ attr_accessor :smart_post_hub
29
+
30
+ attr_accessor :smart_post_endorsement
31
+
32
+ attr_accessor :include_barcode_with_order_number
33
+
34
+ attr_accessor :receive_email_on_manifest_processing
35
+
36
+ # The use carbon neutral shipping program
37
+ attr_accessor :use_carbon_neutral_shipping_program
38
+
39
+ # The use ground freight pricing
40
+ attr_accessor :use_ground_freight_pricing
41
+
42
+ # The use consolidation services
43
+ attr_accessor :use_consolidation_services
44
+
45
+ # The use order number on mail innovations labels
46
+ attr_accessor :use_order_number_on_mail_innovations_labels
47
+
48
+ attr_accessor :mail_innovations_endorsement
49
+
50
+ # mail innovations cost center
51
+ attr_accessor :mail_innovations_cost_center
52
+
53
+ # The use negotiated rates
54
+ attr_accessor :use_negotiated_rates
55
+
56
+ # account postal code
57
+ attr_accessor :account_postal_code
58
+
59
+ # The invoice
60
+ attr_accessor :invoice
61
+
62
+ # Email
63
+ attr_accessor :email
64
+
65
+ # Attribute mapping from ruby-style variable name to JSON key.
66
+ def self.attribute_map
67
+ {
68
+ :'nickname' => :'nickname',
69
+ :'should_hide_account_number_on_archive_doc' => :'should_hide_account_number_on_archive_doc',
70
+ :'is_primary_account' => :'is_primary_account',
71
+ :'pickup_type' => :'pickup_type',
72
+ :'smart_post_hub' => :'smart_post_hub',
73
+ :'smart_post_endorsement' => :'smart_post_endorsement',
74
+ :'include_barcode_with_order_number' => :'include_barcode_with_order_number',
75
+ :'receive_email_on_manifest_processing' => :'receive_email_on_manifest_processing',
76
+ :'use_carbon_neutral_shipping_program' => :'use_carbon_neutral_shipping_program',
77
+ :'use_ground_freight_pricing' => :'use_ground_freight_pricing',
78
+ :'use_consolidation_services' => :'use_consolidation_services',
79
+ :'use_order_number_on_mail_innovations_labels' => :'use_order_number_on_mail_innovations_labels',
80
+ :'mail_innovations_endorsement' => :'mail_innovations_endorsement',
81
+ :'mail_innovations_cost_center' => :'mail_innovations_cost_center',
82
+ :'use_negotiated_rates' => :'use_negotiated_rates',
83
+ :'account_postal_code' => :'account_postal_code',
84
+ :'invoice' => :'invoice',
85
+ :'email' => :'email'
86
+ }
87
+ end
88
+
89
+ # Attribute type mapping.
90
+ def self.openapi_types
91
+ {
92
+ :'nickname' => :'String',
93
+ :'should_hide_account_number_on_archive_doc' => :'Boolean',
94
+ :'is_primary_account' => :'Boolean',
95
+ :'pickup_type' => :'UpsPickupType',
96
+ :'smart_post_hub' => :'SmartPostHub',
97
+ :'smart_post_endorsement' => :'AncillaryServiceEndorsement',
98
+ :'include_barcode_with_order_number' => :'Boolean',
99
+ :'receive_email_on_manifest_processing' => :'Boolean',
100
+ :'use_carbon_neutral_shipping_program' => :'Boolean',
101
+ :'use_ground_freight_pricing' => :'Boolean',
102
+ :'use_consolidation_services' => :'Boolean',
103
+ :'use_order_number_on_mail_innovations_labels' => :'Boolean',
104
+ :'mail_innovations_endorsement' => :'AncillaryServiceEndorsement',
105
+ :'mail_innovations_cost_center' => :'String',
106
+ :'use_negotiated_rates' => :'Boolean',
107
+ :'account_postal_code' => :'String',
108
+ :'invoice' => :'UpsInvoice',
109
+ :'email' => :'String'
110
+ }
111
+ end
112
+
113
+ # List of attributes with nullable: true
114
+ def self.openapi_nullable
115
+ Set.new([
116
+ ])
117
+ end
118
+
119
+ # List of class defined in oneOf (OpenAPI v3)
120
+ def self.openapi_one_of
121
+ [
122
+ :'UpdateAmazonBuyShippingRequestBody',
123
+ :'UpdateDhlExpressSettingsRequestBody',
124
+ :'UpdateFedexSettingsRequestBody',
125
+ :'UpdateNewgisticsSettingsRequestBody',
126
+ :'UpdateUpsSettingsRequestBody'
127
+ ]
128
+ end
129
+
130
+ # Initializes the object
131
+ # @param [Hash] attributes Model attributes in the form of hash
132
+ def initialize(attributes = {})
133
+ if (!attributes.is_a?(Hash))
134
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::UpdateCarrierSettingsRequestBody` initialize method"
135
+ end
136
+
137
+ # check to see if the attribute exists and convert string to symbol for hash key
138
+ attributes = attributes.each_with_object({}) { |(k, v), h|
139
+ if (!self.class.attribute_map.key?(k.to_sym))
140
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::UpdateCarrierSettingsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
141
+ end
142
+ h[k.to_sym] = v
143
+ }
144
+
145
+ if attributes.key?(:'nickname')
146
+ self.nickname = attributes[:'nickname']
147
+ end
148
+
149
+ if attributes.key?(:'should_hide_account_number_on_archive_doc')
150
+ self.should_hide_account_number_on_archive_doc = attributes[:'should_hide_account_number_on_archive_doc']
151
+ end
152
+
153
+ if attributes.key?(:'is_primary_account')
154
+ self.is_primary_account = attributes[:'is_primary_account']
155
+ end
156
+
157
+ if attributes.key?(:'pickup_type')
158
+ self.pickup_type = attributes[:'pickup_type']
159
+ end
160
+
161
+ if attributes.key?(:'smart_post_hub')
162
+ self.smart_post_hub = attributes[:'smart_post_hub']
163
+ end
164
+
165
+ if attributes.key?(:'smart_post_endorsement')
166
+ self.smart_post_endorsement = attributes[:'smart_post_endorsement']
167
+ end
168
+
169
+ if attributes.key?(:'include_barcode_with_order_number')
170
+ self.include_barcode_with_order_number = attributes[:'include_barcode_with_order_number']
171
+ end
172
+
173
+ if attributes.key?(:'receive_email_on_manifest_processing')
174
+ self.receive_email_on_manifest_processing = attributes[:'receive_email_on_manifest_processing']
175
+ end
176
+
177
+ if attributes.key?(:'use_carbon_neutral_shipping_program')
178
+ self.use_carbon_neutral_shipping_program = attributes[:'use_carbon_neutral_shipping_program']
179
+ end
180
+
181
+ if attributes.key?(:'use_ground_freight_pricing')
182
+ self.use_ground_freight_pricing = attributes[:'use_ground_freight_pricing']
183
+ end
184
+
185
+ if attributes.key?(:'use_consolidation_services')
186
+ self.use_consolidation_services = attributes[:'use_consolidation_services']
187
+ end
188
+
189
+ if attributes.key?(:'use_order_number_on_mail_innovations_labels')
190
+ self.use_order_number_on_mail_innovations_labels = attributes[:'use_order_number_on_mail_innovations_labels']
191
+ end
192
+
193
+ if attributes.key?(:'mail_innovations_endorsement')
194
+ self.mail_innovations_endorsement = attributes[:'mail_innovations_endorsement']
195
+ end
196
+
197
+ if attributes.key?(:'mail_innovations_cost_center')
198
+ self.mail_innovations_cost_center = attributes[:'mail_innovations_cost_center']
199
+ end
200
+
201
+ if attributes.key?(:'use_negotiated_rates')
202
+ self.use_negotiated_rates = attributes[:'use_negotiated_rates']
203
+ end
204
+
205
+ if attributes.key?(:'account_postal_code')
206
+ self.account_postal_code = attributes[:'account_postal_code']
207
+ end
208
+
209
+ if attributes.key?(:'invoice')
210
+ self.invoice = attributes[:'invoice']
211
+ end
212
+
213
+ if attributes.key?(:'email')
214
+ self.email = attributes[:'email']
215
+ end
216
+ end
217
+
218
+ # Show invalid properties with the reasons. Usually used together with valid?
219
+ # @return Array for valid properties with the reasons
220
+ def list_invalid_properties
221
+ invalid_properties = Array.new
222
+ if !@nickname.nil? && @nickname.to_s.length < 1
223
+ invalid_properties.push('invalid value for "nickname", the character length must be great than or equal to 1.')
224
+ end
225
+
226
+ if !@mail_innovations_cost_center.nil? && @mail_innovations_cost_center.to_s.length < 0
227
+ invalid_properties.push('invalid value for "mail_innovations_cost_center", the character length must be great than or equal to 0.')
228
+ end
229
+
230
+ if !@account_postal_code.nil? && @account_postal_code.to_s.length < 5
231
+ invalid_properties.push('invalid value for "account_postal_code", the character length must be great than or equal to 5.')
232
+ end
233
+
234
+ if !@email.nil? && @email.to_s.length < 1
235
+ invalid_properties.push('invalid value for "email", the character length must be great than or equal to 1.')
236
+ end
237
+
238
+ invalid_properties
239
+ end
240
+
241
+ # Check to see if the all the properties in the model are valid
242
+ # @return true if the model is valid
243
+ def valid?
244
+ return false if !@nickname.nil? && @nickname.to_s.length < 1
245
+ return false if !@mail_innovations_cost_center.nil? && @mail_innovations_cost_center.to_s.length < 0
246
+ return false if !@account_postal_code.nil? && @account_postal_code.to_s.length < 5
247
+ return false if !@email.nil? && @email.to_s.length < 1
248
+ _one_of_found = false
249
+ self.class.openapi_one_of.each do |_class|
250
+ _one_of = OpenapiClient.const_get(_class).build_from_hash(self.to_hash)
251
+ if _one_of.valid?
252
+ if _one_of_found
253
+ return false
254
+ else
255
+ _one_of_found = true
256
+ end
257
+ end
258
+ end
259
+
260
+ if !_one_of_found
261
+ return false
262
+ end
263
+
264
+ true
265
+ end
266
+
267
+ # Custom attribute writer method with validation
268
+ # @param [Object] nickname Value to be assigned
269
+ def nickname=(nickname)
270
+ if !nickname.nil? && nickname.to_s.length < 1
271
+ fail ArgumentError, 'invalid value for "nickname", the character length must be great than or equal to 1.'
272
+ end
273
+
274
+ @nickname = nickname
275
+ end
276
+
277
+ # Custom attribute writer method with validation
278
+ # @param [Object] mail_innovations_cost_center Value to be assigned
279
+ def mail_innovations_cost_center=(mail_innovations_cost_center)
280
+ if !mail_innovations_cost_center.nil? && mail_innovations_cost_center.to_s.length < 0
281
+ fail ArgumentError, 'invalid value for "mail_innovations_cost_center", the character length must be great than or equal to 0.'
282
+ end
283
+
284
+ @mail_innovations_cost_center = mail_innovations_cost_center
285
+ end
286
+
287
+ # Custom attribute writer method with validation
288
+ # @param [Object] account_postal_code Value to be assigned
289
+ def account_postal_code=(account_postal_code)
290
+ if !account_postal_code.nil? && account_postal_code.to_s.length < 5
291
+ fail ArgumentError, 'invalid value for "account_postal_code", the character length must be great than or equal to 5.'
292
+ end
293
+
294
+ @account_postal_code = account_postal_code
295
+ end
296
+
297
+ # Custom attribute writer method with validation
298
+ # @param [Object] email Value to be assigned
299
+ def email=(email)
300
+ if !email.nil? && email.to_s.length < 1
301
+ fail ArgumentError, 'invalid value for "email", the character length must be great than or equal to 1.'
302
+ end
303
+
304
+ @email = email
305
+ end
306
+
307
+ # Checks equality by comparing each attribute.
308
+ # @param [Object] Object to be compared
309
+ def ==(o)
310
+ return true if self.equal?(o)
311
+ self.class == o.class &&
312
+ nickname == o.nickname &&
313
+ should_hide_account_number_on_archive_doc == o.should_hide_account_number_on_archive_doc &&
314
+ is_primary_account == o.is_primary_account &&
315
+ pickup_type == o.pickup_type &&
316
+ smart_post_hub == o.smart_post_hub &&
317
+ smart_post_endorsement == o.smart_post_endorsement &&
318
+ include_barcode_with_order_number == o.include_barcode_with_order_number &&
319
+ receive_email_on_manifest_processing == o.receive_email_on_manifest_processing &&
320
+ use_carbon_neutral_shipping_program == o.use_carbon_neutral_shipping_program &&
321
+ use_ground_freight_pricing == o.use_ground_freight_pricing &&
322
+ use_consolidation_services == o.use_consolidation_services &&
323
+ use_order_number_on_mail_innovations_labels == o.use_order_number_on_mail_innovations_labels &&
324
+ mail_innovations_endorsement == o.mail_innovations_endorsement &&
325
+ mail_innovations_cost_center == o.mail_innovations_cost_center &&
326
+ use_negotiated_rates == o.use_negotiated_rates &&
327
+ account_postal_code == o.account_postal_code &&
328
+ invoice == o.invoice &&
329
+ email == o.email
330
+ end
331
+
332
+ # @see the `==` method
333
+ # @param [Object] Object to be compared
334
+ def eql?(o)
335
+ self == o
336
+ end
337
+
338
+ # Calculates hash code according to all attributes.
339
+ # @return [Integer] Hash code
340
+ def hash
341
+ [nickname, should_hide_account_number_on_archive_doc, is_primary_account, pickup_type, smart_post_hub, smart_post_endorsement, include_barcode_with_order_number, receive_email_on_manifest_processing, use_carbon_neutral_shipping_program, use_ground_freight_pricing, use_consolidation_services, use_order_number_on_mail_innovations_labels, mail_innovations_endorsement, mail_innovations_cost_center, use_negotiated_rates, account_postal_code, invoice, email].hash
342
+ end
343
+
344
+ # Builds the object from hash
345
+ # @param [Hash] attributes Model attributes in the form of hash
346
+ # @return [Object] Returns the model itself
347
+ def self.build_from_hash(attributes)
348
+ new.build_from_hash(attributes)
349
+ end
350
+
351
+ # Builds the object from hash
352
+ # @param [Hash] attributes Model attributes in the form of hash
353
+ # @return [Object] Returns the model itself
354
+ def build_from_hash(attributes)
355
+ return nil unless attributes.is_a?(Hash)
356
+ self.class.openapi_types.each_pair do |key, type|
357
+ if type =~ /\AArray<(.*)>/i
358
+ # check to ensure the input is an array given that the attribute
359
+ # is documented as an array but the input is not
360
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
361
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
362
+ end
363
+ elsif !attributes[self.class.attribute_map[key]].nil?
364
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
365
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
366
+ end
367
+
368
+ self
369
+ end
370
+
371
+ # Deserializes the data based on type
372
+ # @param string type Data type
373
+ # @param string value Value to be deserialized
374
+ # @return [Object] Deserialized data
375
+ def _deserialize(type, value)
376
+ case type.to_sym
377
+ when :DateTime
378
+ DateTime.parse(value)
379
+ when :Date
380
+ Date.parse(value)
381
+ when :String
382
+ value.to_s
383
+ when :Integer
384
+ value.to_i
385
+ when :Float
386
+ value.to_f
387
+ when :Boolean
388
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
389
+ true
390
+ else
391
+ false
392
+ end
393
+ when :Object
394
+ # generic object (usually a Hash), return directly
395
+ value
396
+ when /\AArray<(?<inner_type>.+)>\z/
397
+ inner_type = Regexp.last_match[:inner_type]
398
+ value.map { |v| _deserialize(inner_type, v) }
399
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
400
+ k_type = Regexp.last_match[:k_type]
401
+ v_type = Regexp.last_match[:v_type]
402
+ {}.tap do |hash|
403
+ value.each do |k, v|
404
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
405
+ end
406
+ end
407
+ else # model
408
+ OpenapiClient.const_get(type).build_from_hash(value)
409
+ end
410
+ end
411
+
412
+ # Returns the string representation of the object
413
+ # @return [String] String presentation of the object
414
+ def to_s
415
+ to_hash.to_s
416
+ end
417
+
418
+ # to_body is an alias to to_hash (backward compatibility)
419
+ # @return [Hash] Returns the object in the form of hash
420
+ def to_body
421
+ to_hash
422
+ end
423
+
424
+ # Returns the object in the form of hash
425
+ # @return [Hash] Returns the object in the form of hash
426
+ def to_hash
427
+ hash = {}
428
+ self.class.attribute_map.each_pair do |attr, param|
429
+ value = self.send(attr)
430
+ if value.nil?
431
+ is_nullable = self.class.openapi_nullable.include?(attr)
432
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
433
+ end
434
+
435
+ hash[param] = _to_hash(value)
436
+ end
437
+ hash
438
+ end
439
+
440
+ # Outputs non-array value in the form of hash
441
+ # For object, use to_hash. Otherwise, just return the value
442
+ # @param [Object] value Any valid value
443
+ # @return [Hash] Returns the value in the form of hash
444
+ def _to_hash(value)
445
+ if value.is_a?(Array)
446
+ value.compact.map { |v| _to_hash(v) }
447
+ elsif value.is_a?(Hash)
448
+ {}.tap do |hash|
449
+ value.each { |k, v| hash[k] = _to_hash(v) }
450
+ end
451
+ elsif value.respond_to? :to_hash
452
+ value.to_hash
453
+ else
454
+ value
455
+ end
456
+ end
457
+ end
458
+ end