ship_engine 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (733) 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-1.0.0.gem +0 -0
  490. data/ship_engine.gemspec +39 -0
  491. data/spec/api/addresses_api_spec.rb +59 -0
  492. data/spec/api/batches_api_spec.rb +164 -0
  493. data/spec/api/carrier_accounts_api_spec.rb +88 -0
  494. data/spec/api/carriers_api_spec.rb +107 -0
  495. data/spec/api/downloads_api_spec.rb +50 -0
  496. data/spec/api/insurance_api_spec.rb +81 -0
  497. data/spec/api/labels_api_spec.rb +161 -0
  498. data/spec/api/manifests_api_spec.rb +79 -0
  499. data/spec/api/package_types_api_spec.rb +95 -0
  500. data/spec/api/rates_api_spec.rb +83 -0
  501. data/spec/api/shipments_api_spec.rb +184 -0
  502. data/spec/api/tags_api_spec.rb +83 -0
  503. data/spec/api/tracking_api_spec.rb +74 -0
  504. data/spec/api/warehouses_api_spec.rb +95 -0
  505. data/spec/api/webhooks_api_spec.rb +95 -0
  506. data/spec/api_client_spec.rb +226 -0
  507. data/spec/configuration_spec.rb +42 -0
  508. data/spec/models/add_funds_to_carrier_request_body_spec.rb +35 -0
  509. data/spec/models/add_funds_to_carrier_response_body_spec.rb +41 -0
  510. data/spec/models/add_funds_to_insurance_request_body_spec.rb +35 -0
  511. data/spec/models/add_funds_to_insurance_response_body_spec.rb +35 -0
  512. data/spec/models/add_to_batch_request_body_spec.rb +35 -0
  513. data/spec/models/address_residential_indicator_spec.rb +35 -0
  514. data/spec/models/address_spec.rb +35 -0
  515. data/spec/models/address_to_validate_spec.rb +35 -0
  516. data/spec/models/address_validating_shipment_spec.rb +173 -0
  517. data/spec/models/address_validation_code_spec.rb +35 -0
  518. data/spec/models/address_validation_detail_code_spec.rb +35 -0
  519. data/spec/models/address_validation_message_type_spec.rb +35 -0
  520. data/spec/models/address_validation_result_spec.rb +59 -0
  521. data/spec/models/address_validation_status_spec.rb +35 -0
  522. data/spec/models/advanced_shipment_options_spec.rb +131 -0
  523. data/spec/models/ancillary_service_endorsement_spec.rb +35 -0
  524. data/spec/models/batch_response_error_spec.rb +47 -0
  525. data/spec/models/batch_spec.rb +143 -0
  526. data/spec/models/batch_status_spec.rb +35 -0
  527. data/spec/models/batches_sort_by_spec.rb +35 -0
  528. data/spec/models/bill_to_party_spec.rb +35 -0
  529. data/spec/models/bulk_rate_spec.rb +65 -0
  530. data/spec/models/calculate_rates_request_body_spec.rb +35 -0
  531. data/spec/models/calculate_rates_response_body_spec.rb +173 -0
  532. data/spec/models/carrier_advanced_option_spec.rb +53 -0
  533. data/spec/models/carrier_name_spec.rb +35 -0
  534. data/spec/models/carrier_name_with_settings_spec.rb +35 -0
  535. data/spec/models/carrier_spec.rb +113 -0
  536. data/spec/models/collect_on_delivery_payment_type_spec.rb +35 -0
  537. data/spec/models/collect_on_delivery_spec.rb +47 -0
  538. data/spec/models/compare_bulk_rates_request_body_spec.rb +35 -0
  539. data/spec/models/connect_access_worldwide_request_body_spec.rb +53 -0
  540. data/spec/models/connect_amazon_buy_shipping_request_body_spec.rb +59 -0
  541. data/spec/models/connect_apc_request_body_spec.rb +53 -0
  542. data/spec/models/connect_asendia_request_body_spec.rb +59 -0
  543. data/spec/models/connect_australia_post_request_body_spec.rb +59 -0
  544. data/spec/models/connect_canada_post_request_body_spec.rb +65 -0
  545. data/spec/models/connect_carrier_request_body_spec.rb +329 -0
  546. data/spec/models/connect_carrier_response_body_spec.rb +41 -0
  547. data/spec/models/connect_dhl_ecommerce_request_body_spec.rb +107 -0
  548. data/spec/models/connect_dhl_express_au_request_body_spec.rb +47 -0
  549. data/spec/models/connect_dhl_express_ca_request_body_spec.rb +47 -0
  550. data/spec/models/connect_dhl_express_request_body_spec.rb +47 -0
  551. data/spec/models/connect_dhl_express_uk_request_body_spec.rb +59 -0
  552. data/spec/models/connect_dpd_request_body_spec.rb +53 -0
  553. data/spec/models/connect_endicia_request_body_spec.rb +53 -0
  554. data/spec/models/connect_fedex_request_body_spec.rb +125 -0
  555. data/spec/models/connect_fedex_uk_request_body_spec.rb +125 -0
  556. data/spec/models/connect_firstmile_request_body_spec.rb +59 -0
  557. data/spec/models/connect_globegistics_request_body_spec.rb +53 -0
  558. data/spec/models/connect_imex_request_body_spec.rb +53 -0
  559. data/spec/models/connect_insurer_request_body_spec.rb +47 -0
  560. data/spec/models/connect_newgistics_request_body_spec.rb +59 -0
  561. data/spec/models/connect_ontrac_request_body_spec.rb +53 -0
  562. data/spec/models/connect_purolator_request_body_spec.rb +53 -0
  563. data/spec/models/connect_royal_mail_request_body_spec.rb +107 -0
  564. data/spec/models/connect_rr_donnelley_request_body_spec.rb +53 -0
  565. data/spec/models/connect_seko_request_body_spec.rb +47 -0
  566. data/spec/models/connect_sendle_request_body_spec.rb +53 -0
  567. data/spec/models/connect_stamps_request_body_spec.rb +53 -0
  568. data/spec/models/connect_ups_request_body_spec.rb +143 -0
  569. data/spec/models/create_and_validate_shipment_spec.rb +179 -0
  570. data/spec/models/create_batch_request_body_spec.rb +59 -0
  571. data/spec/models/create_batch_response_body_spec.rb +35 -0
  572. data/spec/models/create_label_from_rate_request_body_spec.rb +35 -0
  573. data/spec/models/create_label_from_rate_response_body_spec.rb +35 -0
  574. data/spec/models/create_label_from_shipment_request_body_spec.rb +59 -0
  575. data/spec/models/create_label_from_shipment_response_body_spec.rb +35 -0
  576. data/spec/models/create_label_request_body_spec.rb +35 -0
  577. data/spec/models/create_label_response_body_spec.rb +35 -0
  578. data/spec/models/create_manifest_by_object_request_body_spec.rb +65 -0
  579. data/spec/models/create_manifest_label_ids_request_body_spec.rb +41 -0
  580. data/spec/models/create_manifest_request_body_spec.rb +65 -0
  581. data/spec/models/create_manifest_response_body_spec.rb +95 -0
  582. data/spec/models/create_package_type_request_body_spec.rb +35 -0
  583. data/spec/models/create_package_type_response_body_spec.rb +35 -0
  584. data/spec/models/create_return_label_request_body_spec.rb +65 -0
  585. data/spec/models/create_return_label_response_body_spec.rb +35 -0
  586. data/spec/models/create_shipment_response_body_fields_spec.rb +47 -0
  587. data/spec/models/create_shipments_request_body_spec.rb +41 -0
  588. data/spec/models/create_shipments_response_body_spec.rb +47 -0
  589. data/spec/models/create_tag_response_body_spec.rb +35 -0
  590. data/spec/models/create_warehouse_request_body_spec.rb +35 -0
  591. data/spec/models/create_warehouse_response_body_spec.rb +35 -0
  592. data/spec/models/create_webhook_request_body_spec.rb +47 -0
  593. data/spec/models/create_webhook_response_body_spec.rb +35 -0
  594. data/spec/models/currency_spec.rb +35 -0
  595. data/spec/models/customs_item_spec.rb +89 -0
  596. data/spec/models/delivery_confirmation_spec.rb +35 -0
  597. data/spec/models/deprecated_manifest_spec.rb +89 -0
  598. data/spec/models/dhl_express_account_settings_spec.rb +53 -0
  599. data/spec/models/dhl_express_settings_response_body_spec.rb +35 -0
  600. data/spec/models/dimension_unit_spec.rb +35 -0
  601. data/spec/models/dimensions_spec.rb +59 -0
  602. data/spec/models/error_code_spec.rb +35 -0
  603. data/spec/models/error_response_body_spec.rb +47 -0
  604. data/spec/models/error_source_spec.rb +35 -0
  605. data/spec/models/error_spec.rb +59 -0
  606. data/spec/models/error_type_spec.rb +35 -0
  607. data/spec/models/estimate_rates_request_body_spec.rb +35 -0
  608. data/spec/models/fedex_account_settings_request_body_spec.rb +35 -0
  609. data/spec/models/fedex_account_settings_spec.rb +65 -0
  610. data/spec/models/fedex_pickup_type_spec.rb +35 -0
  611. data/spec/models/fedex_settings_response_body_spec.rb +35 -0
  612. data/spec/models/get_batch_by_external_id_response_body_spec.rb +35 -0
  613. data/spec/models/get_batch_by_id_response_body_spec.rb +35 -0
  614. data/spec/models/get_carrier_by_id_response_body_spec.rb +35 -0
  615. data/spec/models/get_carrier_options_response_body_spec.rb +41 -0
  616. data/spec/models/get_carrier_settings_response_body_spec.rb +125 -0
  617. data/spec/models/get_carriers_response_body_spec.rb +53 -0
  618. data/spec/models/get_insurance_balance_response_body_spec.rb +35 -0
  619. data/spec/models/get_label_by_external_shipment_id_response_body_spec.rb +35 -0
  620. data/spec/models/get_label_by_id_response_body_spec.rb +35 -0
  621. data/spec/models/get_manifest_by_id_response_body_spec.rb +35 -0
  622. data/spec/models/get_package_type_by_id_response_body_spec.rb +35 -0
  623. data/spec/models/get_rate_by_id_response_body_spec.rb +35 -0
  624. data/spec/models/get_shipment_by_external_id_response_body_spec.rb +35 -0
  625. data/spec/models/get_shipment_by_id_response_body_spec.rb +35 -0
  626. data/spec/models/get_tracking_log_from_label_response_body_spec.rb +35 -0
  627. data/spec/models/get_tracking_log_response_body_spec.rb +35 -0
  628. data/spec/models/get_warehouse_by_id_response_body_spec.rb +35 -0
  629. data/spec/models/get_webhook_by_id_response_body_spec.rb +35 -0
  630. data/spec/models/insurance_provider_spec.rb +35 -0
  631. data/spec/models/international_shipment_options_spec.rb +53 -0
  632. data/spec/models/label_charge_event_spec.rb +35 -0
  633. data/spec/models/label_download_spec.rb +59 -0
  634. data/spec/models/label_download_type_spec.rb +35 -0
  635. data/spec/models/label_format_spec.rb +35 -0
  636. data/spec/models/label_layout_spec.rb +35 -0
  637. data/spec/models/label_messages_spec.rb +53 -0
  638. data/spec/models/label_spec.rb +233 -0
  639. data/spec/models/label_status_spec.rb +35 -0
  640. data/spec/models/link_spec.rb +35 -0
  641. data/spec/models/list_batch_errors_response_body_spec.rb +47 -0
  642. data/spec/models/list_batches_response_body_spec.rb +65 -0
  643. data/spec/models/list_carrier_package_types_response_body_spec.rb +41 -0
  644. data/spec/models/list_carrier_services_response_body_spec.rb +41 -0
  645. data/spec/models/list_carriers_response_body_spec.rb +41 -0
  646. data/spec/models/list_labels_response_body_spec.rb +41 -0
  647. data/spec/models/list_manifests_response_body_spec.rb +65 -0
  648. data/spec/models/list_package_types_response_body_spec.rb +41 -0
  649. data/spec/models/list_shipment_errors_response_body_spec.rb +47 -0
  650. data/spec/models/list_shipment_rates_response_body_spec.rb +35 -0
  651. data/spec/models/list_shipments_response_body_spec.rb +65 -0
  652. data/spec/models/list_tags_response_body_spec.rb +41 -0
  653. data/spec/models/list_warehouses_response_body_spec.rb +41 -0
  654. data/spec/models/manifest_download_spec.rb +41 -0
  655. data/spec/models/manifest_spec.rb +89 -0
  656. data/spec/models/manifests_spec.rb +41 -0
  657. data/spec/models/modify_batch_spec.rb +47 -0
  658. data/spec/models/monetary_value_spec.rb +47 -0
  659. data/spec/models/non_delivery_spec.rb +35 -0
  660. data/spec/models/optional_link_spec.rb +47 -0
  661. data/spec/models/order_source_name_spec.rb +35 -0
  662. data/spec/models/package_contents_spec.rb +35 -0
  663. data/spec/models/package_spec.rb +77 -0
  664. data/spec/models/package_type_spec.rb +65 -0
  665. data/spec/models/paged_list_response_body_spec.rb +59 -0
  666. data/spec/models/pagination_link_spec.rb +59 -0
  667. data/spec/models/parse_address_request_body_spec.rb +47 -0
  668. data/spec/models/parse_address_response_body_spec.rb +53 -0
  669. data/spec/models/parse_shipment_request_body_spec.rb +47 -0
  670. data/spec/models/parse_shipment_response_body_spec.rb +53 -0
  671. data/spec/models/partial_address_spec.rb +101 -0
  672. data/spec/models/partial_shipment_spec.rb +167 -0
  673. data/spec/models/payment_amount_spec.rb +47 -0
  674. data/spec/models/process_batch_request_body_spec.rb +53 -0
  675. data/spec/models/purchase_label_without_shipment_spec.rb +59 -0
  676. data/spec/models/rate_estimate_by_carrier_id_spec.rb +41 -0
  677. data/spec/models/rate_estimate_by_carrier_ids_spec.rb +41 -0
  678. data/spec/models/rate_estimate_options_spec.rb +113 -0
  679. data/spec/models/rate_request_body_spec.rb +65 -0
  680. data/spec/models/rate_request_by_shipment_ids_spec.rb +41 -0
  681. data/spec/models/rate_request_by_shipments_spec.rb +41 -0
  682. data/spec/models/rate_request_options_spec.rb +41 -0
  683. data/spec/models/rate_request_rate_options_spec.rb +41 -0
  684. data/spec/models/rate_response_spec.rb +41 -0
  685. data/spec/models/rate_response_status_spec.rb +35 -0
  686. data/spec/models/rate_spec.rb +185 -0
  687. data/spec/models/rate_type_spec.rb +35 -0
  688. data/spec/models/rates_information_spec.rb +77 -0
  689. data/spec/models/recognized_entity_spec.rb +71 -0
  690. data/spec/models/remove_from_batch_request_body_spec.rb +35 -0
  691. data/spec/models/response_message_spec.rb +59 -0
  692. data/spec/models/service_spec.rb +77 -0
  693. data/spec/models/shipment_id_request_spec.rb +41 -0
  694. data/spec/models/shipment_item_spec.rb +89 -0
  695. data/spec/models/shipment_request_spec.rb +41 -0
  696. data/spec/models/shipment_response_error_spec.rb +53 -0
  697. data/spec/models/shipment_spec.rb +35 -0
  698. data/spec/models/shipment_status_spec.rb +35 -0
  699. data/spec/models/shipments_sort_by_spec.rb +35 -0
  700. data/spec/models/smart_post_hub_spec.rb +35 -0
  701. data/spec/models/sort_dir_spec.rb +35 -0
  702. data/spec/models/tag_shipment_response_body_spec.rb +47 -0
  703. data/spec/models/tag_spec.rb +41 -0
  704. data/spec/models/track_event_spec.rb +107 -0
  705. data/spec/models/tracking_information_spec.rb +95 -0
  706. data/spec/models/tracking_status_spec.rb +35 -0
  707. data/spec/models/update_amazon_buy_shipping_request_body_spec.rb +41 -0
  708. data/spec/models/update_carrier_settings_request_body_spec.rb +143 -0
  709. data/spec/models/update_dhl_express_settings_request_body_spec.rb +35 -0
  710. data/spec/models/update_fedex_settings_request_body_spec.rb +35 -0
  711. data/spec/models/update_newgistics_settings_request_body_spec.rb +47 -0
  712. data/spec/models/update_package_type_request_body_spec.rb +35 -0
  713. data/spec/models/update_shipment_fields_spec.rb +41 -0
  714. data/spec/models/update_shipment_request_body_spec.rb +173 -0
  715. data/spec/models/update_shipment_response_body_spec.rb +35 -0
  716. data/spec/models/update_ups_settings_request_body_spec.rb +35 -0
  717. data/spec/models/update_warehouse_request_body_spec.rb +35 -0
  718. data/spec/models/update_webhook_request_body_spec.rb +41 -0
  719. data/spec/models/ups_account_settings_spec.rb +107 -0
  720. data/spec/models/ups_invoice_spec.rb +59 -0
  721. data/spec/models/ups_pickup_type_spec.rb +35 -0
  722. data/spec/models/ups_settings_response_body_spec.rb +35 -0
  723. data/spec/models/validate_address_spec.rb +35 -0
  724. data/spec/models/validate_shipment_fields_spec.rb +41 -0
  725. data/spec/models/validation_status_spec.rb +35 -0
  726. data/spec/models/void_label_response_body_spec.rb +47 -0
  727. data/spec/models/warehouse_spec.rb +65 -0
  728. data/spec/models/webhook_event_spec.rb +35 -0
  729. data/spec/models/webhook_spec.rb +53 -0
  730. data/spec/models/weight_spec.rb +47 -0
  731. data/spec/models/weight_unit_spec.rb +35 -0
  732. data/spec/spec_helper.rb +111 -0
  733. metadata +1110 -0
@@ -0,0 +1,259 @@
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
+ # A Fedex account settings request body
17
+ class FedexAccountSettings
18
+ # Account nickname
19
+ attr_accessor :nickname
20
+
21
+ attr_accessor :pickup_type
22
+
23
+ attr_accessor :smart_post_hub
24
+
25
+ attr_accessor :smart_post_endorsement
26
+
27
+ attr_accessor :is_primary_account
28
+
29
+ # Attribute mapping from ruby-style variable name to JSON key.
30
+ def self.attribute_map
31
+ {
32
+ :'nickname' => :'nickname',
33
+ :'pickup_type' => :'pickup_type',
34
+ :'smart_post_hub' => :'smart_post_hub',
35
+ :'smart_post_endorsement' => :'smart_post_endorsement',
36
+ :'is_primary_account' => :'is_primary_account'
37
+ }
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.openapi_types
42
+ {
43
+ :'nickname' => :'String',
44
+ :'pickup_type' => :'FedexPickupType',
45
+ :'smart_post_hub' => :'SmartPostHub',
46
+ :'smart_post_endorsement' => :'AncillaryServiceEndorsement',
47
+ :'is_primary_account' => :'Boolean'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::FedexAccountSettings` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::FedexAccountSettings`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'nickname')
73
+ self.nickname = attributes[:'nickname']
74
+ end
75
+
76
+ if attributes.key?(:'pickup_type')
77
+ self.pickup_type = attributes[:'pickup_type']
78
+ end
79
+
80
+ if attributes.key?(:'smart_post_hub')
81
+ self.smart_post_hub = attributes[:'smart_post_hub']
82
+ end
83
+
84
+ if attributes.key?(:'smart_post_endorsement')
85
+ self.smart_post_endorsement = attributes[:'smart_post_endorsement']
86
+ end
87
+
88
+ if attributes.key?(:'is_primary_account')
89
+ self.is_primary_account = attributes[:'is_primary_account']
90
+ end
91
+ end
92
+
93
+ # Show invalid properties with the reasons. Usually used together with valid?
94
+ # @return Array for valid properties with the reasons
95
+ def list_invalid_properties
96
+ invalid_properties = Array.new
97
+ if !@nickname.nil? && @nickname.to_s.length < 1
98
+ invalid_properties.push('invalid value for "nickname", the character length must be great than or equal to 1.')
99
+ end
100
+
101
+ invalid_properties
102
+ end
103
+
104
+ # Check to see if the all the properties in the model are valid
105
+ # @return true if the model is valid
106
+ def valid?
107
+ return false if !@nickname.nil? && @nickname.to_s.length < 1
108
+ true
109
+ end
110
+
111
+ # Custom attribute writer method with validation
112
+ # @param [Object] nickname Value to be assigned
113
+ def nickname=(nickname)
114
+ if !nickname.nil? && nickname.to_s.length < 1
115
+ fail ArgumentError, 'invalid value for "nickname", the character length must be great than or equal to 1.'
116
+ end
117
+
118
+ @nickname = nickname
119
+ end
120
+
121
+ # Checks equality by comparing each attribute.
122
+ # @param [Object] Object to be compared
123
+ def ==(o)
124
+ return true if self.equal?(o)
125
+ self.class == o.class &&
126
+ nickname == o.nickname &&
127
+ pickup_type == o.pickup_type &&
128
+ smart_post_hub == o.smart_post_hub &&
129
+ smart_post_endorsement == o.smart_post_endorsement &&
130
+ is_primary_account == o.is_primary_account
131
+ end
132
+
133
+ # @see the `==` method
134
+ # @param [Object] Object to be compared
135
+ def eql?(o)
136
+ self == o
137
+ end
138
+
139
+ # Calculates hash code according to all attributes.
140
+ # @return [Integer] Hash code
141
+ def hash
142
+ [nickname, pickup_type, smart_post_hub, smart_post_endorsement, is_primary_account].hash
143
+ end
144
+
145
+ # Builds the object from hash
146
+ # @param [Hash] attributes Model attributes in the form of hash
147
+ # @return [Object] Returns the model itself
148
+ def self.build_from_hash(attributes)
149
+ new.build_from_hash(attributes)
150
+ end
151
+
152
+ # Builds the object from hash
153
+ # @param [Hash] attributes Model attributes in the form of hash
154
+ # @return [Object] Returns the model itself
155
+ def build_from_hash(attributes)
156
+ return nil unless attributes.is_a?(Hash)
157
+ self.class.openapi_types.each_pair do |key, type|
158
+ if type =~ /\AArray<(.*)>/i
159
+ # check to ensure the input is an array given that the attribute
160
+ # is documented as an array but the input is not
161
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
162
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
163
+ end
164
+ elsif !attributes[self.class.attribute_map[key]].nil?
165
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
166
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
167
+ end
168
+
169
+ self
170
+ end
171
+
172
+ # Deserializes the data based on type
173
+ # @param string type Data type
174
+ # @param string value Value to be deserialized
175
+ # @return [Object] Deserialized data
176
+ def _deserialize(type, value)
177
+ case type.to_sym
178
+ when :DateTime
179
+ DateTime.parse(value)
180
+ when :Date
181
+ Date.parse(value)
182
+ when :String
183
+ value.to_s
184
+ when :Integer
185
+ value.to_i
186
+ when :Float
187
+ value.to_f
188
+ when :Boolean
189
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
190
+ true
191
+ else
192
+ false
193
+ end
194
+ when :Object
195
+ # generic object (usually a Hash), return directly
196
+ value
197
+ when /\AArray<(?<inner_type>.+)>\z/
198
+ inner_type = Regexp.last_match[:inner_type]
199
+ value.map { |v| _deserialize(inner_type, v) }
200
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
201
+ k_type = Regexp.last_match[:k_type]
202
+ v_type = Regexp.last_match[:v_type]
203
+ {}.tap do |hash|
204
+ value.each do |k, v|
205
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
206
+ end
207
+ end
208
+ else # model
209
+ OpenapiClient.const_get(type).build_from_hash(value)
210
+ end
211
+ end
212
+
213
+ # Returns the string representation of the object
214
+ # @return [String] String presentation of the object
215
+ def to_s
216
+ to_hash.to_s
217
+ end
218
+
219
+ # to_body is an alias to to_hash (backward compatibility)
220
+ # @return [Hash] Returns the object in the form of hash
221
+ def to_body
222
+ to_hash
223
+ end
224
+
225
+ # Returns the object in the form of hash
226
+ # @return [Hash] Returns the object in the form of hash
227
+ def to_hash
228
+ hash = {}
229
+ self.class.attribute_map.each_pair do |attr, param|
230
+ value = self.send(attr)
231
+ if value.nil?
232
+ is_nullable = self.class.openapi_nullable.include?(attr)
233
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
234
+ end
235
+
236
+ hash[param] = _to_hash(value)
237
+ end
238
+ hash
239
+ end
240
+
241
+ # Outputs non-array value in the form of hash
242
+ # For object, use to_hash. Otherwise, just return the value
243
+ # @param [Object] value Any valid value
244
+ # @return [Hash] Returns the value in the form of hash
245
+ def _to_hash(value)
246
+ if value.is_a?(Array)
247
+ value.compact.map { |v| _to_hash(v) }
248
+ elsif value.is_a?(Hash)
249
+ {}.tap do |hash|
250
+ value.each { |k, v| hash[k] = _to_hash(v) }
251
+ end
252
+ elsif value.respond_to? :to_hash
253
+ value.to_hash
254
+ else
255
+ value
256
+ end
257
+ end
258
+ end
259
+ end
@@ -0,0 +1,209 @@
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
+ # A Fedex account settings request body
17
+ class FedexAccountSettingsRequestBody < FedexAccountSettings
18
+ # Attribute mapping from ruby-style variable name to JSON key.
19
+ def self.attribute_map
20
+ {
21
+ }
22
+ end
23
+
24
+ # Attribute type mapping.
25
+ def self.openapi_types
26
+ {
27
+ }
28
+ end
29
+
30
+ # List of attributes with nullable: true
31
+ def self.openapi_nullable
32
+ Set.new([
33
+ ])
34
+ end
35
+
36
+ # List of class defined in allOf (OpenAPI v3)
37
+ def self.openapi_all_of
38
+ [
39
+ :'FedexAccountSettings'
40
+ ]
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param [Hash] attributes Model attributes in the form of hash
45
+ def initialize(attributes = {})
46
+ if (!attributes.is_a?(Hash))
47
+ fail ArgumentError, "The input argument (attributes) must be a hash in `OpenapiClient::FedexAccountSettingsRequestBody` initialize method"
48
+ end
49
+
50
+ # check to see if the attribute exists and convert string to symbol for hash key
51
+ attributes = attributes.each_with_object({}) { |(k, v), h|
52
+ if (!self.class.attribute_map.key?(k.to_sym))
53
+ fail ArgumentError, "`#{k}` is not a valid attribute in `OpenapiClient::FedexAccountSettingsRequestBody`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
54
+ end
55
+ h[k.to_sym] = v
56
+ }
57
+
58
+ # call parent's initialize
59
+ super(attributes)
60
+ end
61
+
62
+ # Show invalid properties with the reasons. Usually used together with valid?
63
+ # @return Array for valid properties with the reasons
64
+ def list_invalid_properties
65
+ invalid_properties = super
66
+ invalid_properties
67
+ end
68
+
69
+ # Check to see if the all the properties in the model are valid
70
+ # @return true if the model is valid
71
+ def valid?
72
+ true && super
73
+ end
74
+
75
+ # Checks equality by comparing each attribute.
76
+ # @param [Object] Object to be compared
77
+ def ==(o)
78
+ return true if self.equal?(o)
79
+ self.class == o.class && super(o)
80
+ end
81
+
82
+ # @see the `==` method
83
+ # @param [Object] Object to be compared
84
+ def eql?(o)
85
+ self == o
86
+ end
87
+
88
+ # Calculates hash code according to all attributes.
89
+ # @return [Integer] Hash code
90
+ def hash
91
+ [].hash
92
+ end
93
+
94
+ # Builds the object from hash
95
+ # @param [Hash] attributes Model attributes in the form of hash
96
+ # @return [Object] Returns the model itself
97
+ def self.build_from_hash(attributes)
98
+ new.build_from_hash(attributes)
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+ super(attributes)
107
+ self.class.openapi_types.each_pair do |key, type|
108
+ if type =~ /\AArray<(.*)>/i
109
+ # check to ensure the input is an array given that the attribute
110
+ # is documented as an array but the input is not
111
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
112
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
113
+ end
114
+ elsif !attributes[self.class.attribute_map[key]].nil?
115
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
116
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
117
+ end
118
+
119
+ self
120
+ end
121
+
122
+ # Deserializes the data based on type
123
+ # @param string type Data type
124
+ # @param string value Value to be deserialized
125
+ # @return [Object] Deserialized data
126
+ def _deserialize(type, value)
127
+ case type.to_sym
128
+ when :DateTime
129
+ DateTime.parse(value)
130
+ when :Date
131
+ Date.parse(value)
132
+ when :String
133
+ value.to_s
134
+ when :Integer
135
+ value.to_i
136
+ when :Float
137
+ value.to_f
138
+ when :Boolean
139
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
140
+ true
141
+ else
142
+ false
143
+ end
144
+ when :Object
145
+ # generic object (usually a Hash), return directly
146
+ value
147
+ when /\AArray<(?<inner_type>.+)>\z/
148
+ inner_type = Regexp.last_match[:inner_type]
149
+ value.map { |v| _deserialize(inner_type, v) }
150
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
151
+ k_type = Regexp.last_match[:k_type]
152
+ v_type = Regexp.last_match[:v_type]
153
+ {}.tap do |hash|
154
+ value.each do |k, v|
155
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
156
+ end
157
+ end
158
+ else # model
159
+ OpenapiClient.const_get(type).build_from_hash(value)
160
+ end
161
+ end
162
+
163
+ # Returns the string representation of the object
164
+ # @return [String] String presentation of the object
165
+ def to_s
166
+ to_hash.to_s
167
+ end
168
+
169
+ # to_body is an alias to to_hash (backward compatibility)
170
+ # @return [Hash] Returns the object in the form of hash
171
+ def to_body
172
+ to_hash
173
+ end
174
+
175
+ # Returns the object in the form of hash
176
+ # @return [Hash] Returns the object in the form of hash
177
+ def to_hash
178
+ hash = super
179
+ self.class.attribute_map.each_pair do |attr, param|
180
+ value = self.send(attr)
181
+ if value.nil?
182
+ is_nullable = self.class.openapi_nullable.include?(attr)
183
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
184
+ end
185
+
186
+ hash[param] = _to_hash(value)
187
+ end
188
+ hash
189
+ end
190
+
191
+ # Outputs non-array value in the form of hash
192
+ # For object, use to_hash. Otherwise, just return the value
193
+ # @param [Object] value Any valid value
194
+ # @return [Hash] Returns the value in the form of hash
195
+ def _to_hash(value)
196
+ if value.is_a?(Array)
197
+ value.compact.map { |v| _to_hash(v) }
198
+ elsif value.is_a?(Hash)
199
+ {}.tap do |hash|
200
+ value.each { |k, v| hash[k] = _to_hash(v) }
201
+ end
202
+ elsif value.respond_to? :to_hash
203
+ value.to_hash
204
+ else
205
+ value
206
+ end
207
+ end
208
+ end
209
+ end