lob 6.0.7 → 6.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (449) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_SNIPPETS.md +10 -10
  3. data/Gemfile +0 -0
  4. data/Gemfile.lock +3 -3
  5. data/LICENSE +0 -0
  6. data/MIGRATION.md +0 -0
  7. data/Rakefile +0 -0
  8. data/__tests__/Api/Address.unit.rb +1 -1
  9. data/__tests__/Api/BankAccount.unit.rb +1 -1
  10. data/__tests__/Api/BillingGroup.unit.rb +1 -1
  11. data/__tests__/Api/Card.unit.rb +1 -1
  12. data/__tests__/Api/CardOrder.unit.rb +1 -1
  13. data/__tests__/Api/Check.unit.rb +1 -1
  14. data/__tests__/Api/IntlAutocompletion.unit.rb +1 -1
  15. data/__tests__/Api/IntlVerification.unit.rb +1 -1
  16. data/__tests__/Api/Letter.unit.rb +1 -1
  17. data/__tests__/Api/Postcard.unit.rb +1 -1
  18. data/__tests__/Api/Require.unit.rb +0 -1
  19. data/__tests__/Api/ReverseGeocodeLookup.unit.rb +1 -1
  20. data/__tests__/Api/SelfMailer.unit.rb +1 -1
  21. data/__tests__/Api/Template.unit.rb +1 -1
  22. data/__tests__/Api/TemplateVersion.unit.rb +1 -1
  23. data/__tests__/Api/UsAutocompletion.unit.rb +1 -1
  24. data/__tests__/Api/UsVerification.unit.rb +1 -1
  25. data/__tests__/Api/ZipLookup.unit.rb +1 -1
  26. data/__tests__/Integration/Address.spec.rb +1 -1
  27. data/__tests__/Integration/BankAccount.spec.rb +2 -2
  28. data/__tests__/Integration/BillingGroup.spec.rb +3 -3
  29. data/__tests__/Integration/Card.spec.rb +1 -1
  30. data/__tests__/Integration/CardOrder.spec.rb +1 -1
  31. data/__tests__/Integration/Check.spec.rb +9 -5
  32. data/__tests__/Integration/IntlAutocompletion.spec.rb +2 -2
  33. data/__tests__/Integration/IntlVerification.spec.rb +3 -3
  34. data/__tests__/Integration/Letter.spec.rb +15 -8
  35. data/__tests__/Integration/Postcard.spec.rb +4 -4
  36. data/__tests__/Integration/ReverseGeocodeLookup.spec.rb +1 -1
  37. data/__tests__/Integration/SelfMailer.spec.rb +2 -2
  38. data/__tests__/Integration/Template.spec.rb +1 -1
  39. data/__tests__/Integration/TemplateVersion.spec.rb +1 -1
  40. data/__tests__/Integration/UsAutocompletion.spec.rb +1 -1
  41. data/__tests__/Integration/UsVerification.spec.rb +1 -1
  42. data/__tests__/Integration/ZipLookup.spec.rb +1 -1
  43. data/__tests__/TestFixtures.rb +0 -0
  44. data/docs/Address.md +1 -1
  45. data/docs/AddressDeletion.md +1 -1
  46. data/docs/AddressDomestic.md +1 -1
  47. data/docs/AddressDomesticExpanded.md +1 -1
  48. data/docs/AddressEditable.md +1 -1
  49. data/docs/AddressList.md +1 -1
  50. data/docs/AddressesApi.md +4 -4
  51. data/docs/BankAccount.md +1 -1
  52. data/docs/BankAccountDeletion.md +1 -1
  53. data/docs/BankAccountList.md +1 -1
  54. data/docs/BankAccountVerify.md +1 -1
  55. data/docs/BankAccountWritable.md +1 -1
  56. data/docs/BankAccountsApi.md +5 -5
  57. data/docs/BankTypeEnum.md +1 -1
  58. data/docs/BillingGroup.md +1 -1
  59. data/docs/BillingGroupEditable.md +1 -1
  60. data/docs/BillingGroupList.md +1 -1
  61. data/docs/BillingGroupsApi.md +4 -4
  62. data/docs/Buckslip.md +1 -1
  63. data/docs/BuckslipDeletion.md +1 -1
  64. data/docs/BuckslipEditable.md +1 -1
  65. data/docs/BuckslipOrder.md +1 -1
  66. data/docs/BuckslipOrderEditable.md +1 -1
  67. data/docs/BuckslipOrdersApi.md +2 -2
  68. data/docs/BuckslipOrdersList.md +1 -1
  69. data/docs/BuckslipUpdatable.md +1 -1
  70. data/docs/BuckslipsApi.md +13 -9
  71. data/docs/BuckslipsList.md +1 -1
  72. data/docs/BulkError.md +1 -1
  73. data/docs/BulkErrorProperties.md +1 -1
  74. data/docs/Campaign.md +2 -2
  75. data/docs/CampaignCreative.md +1 -1
  76. data/docs/CampaignDeletion.md +1 -1
  77. data/docs/CampaignUpdatable.md +1 -1
  78. data/docs/CampaignWritable.md +2 -2
  79. data/docs/CampaignsApi.md +6 -6
  80. data/docs/CampaignsList.md +1 -1
  81. data/docs/Card.md +1 -1
  82. data/docs/CardDeletion.md +1 -1
  83. data/docs/CardEditable.md +1 -1
  84. data/docs/CardList.md +1 -1
  85. data/docs/CardOrder.md +1 -1
  86. data/docs/CardOrderEditable.md +1 -1
  87. data/docs/CardOrderList.md +1 -1
  88. data/docs/CardOrdersApi.md +2 -2
  89. data/docs/CardUpdatable.md +1 -1
  90. data/docs/CardsApi.md +5 -5
  91. data/docs/Check.md +4 -2
  92. data/docs/CheckDeletion.md +1 -1
  93. data/docs/CheckEditable.md +4 -2
  94. data/docs/CheckList.md +1 -1
  95. data/docs/ChecksApi.md +7 -7
  96. data/docs/ChkUseType.md +15 -0
  97. data/docs/CmpScheduleType.md +1 -1
  98. data/docs/CmpUseType.md +1 -1
  99. data/docs/CountryExtended.md +1 -1
  100. data/docs/CountryExtendedExpanded.md +1 -1
  101. data/docs/CountryExtendedExpandedNoUs.md +15 -0
  102. data/docs/CreativePatch.md +1 -1
  103. data/docs/CreativeResponse.md +1 -1
  104. data/docs/CreativeWritable.md +1 -1
  105. data/docs/CreativesApi.md +3 -3
  106. data/docs/CustomEnvelopeReturned.md +1 -1
  107. data/docs/DefaultApi.md +1 -1
  108. data/docs/DeliverabilityAnalysis.md +16 -16
  109. data/docs/DpvFootnote.md +1 -1
  110. data/docs/EngineHtml.md +1 -1
  111. data/docs/EventType.md +1 -1
  112. data/docs/Events.md +1 -1
  113. data/docs/Export.md +1 -1
  114. data/docs/ExportModel.md +1 -1
  115. data/docs/GeocodeAddresses.md +1 -1
  116. data/docs/GeocodeComponents.md +1 -1
  117. data/docs/HTTPValidationError.md +1 -1
  118. data/docs/IdentityValidation.md +1 -1
  119. data/docs/IdentityValidationApi.md +1 -1
  120. data/docs/InlineObject.md +1 -1
  121. data/docs/IntlAddress.md +54 -0
  122. data/docs/IntlAutocompletions.md +1 -1
  123. data/docs/IntlAutocompletionsApi.md +2 -2
  124. data/docs/IntlAutocompletionsWritable.md +1 -1
  125. data/docs/IntlComponents.md +1 -1
  126. data/docs/IntlSuggestions.md +1 -1
  127. data/docs/IntlVerification.md +1 -1
  128. data/docs/IntlVerificationOrError.md +1 -1
  129. data/docs/IntlVerificationWritable.md +1 -1
  130. data/docs/IntlVerifications.md +1 -1
  131. data/docs/IntlVerificationsApi.md +3 -3
  132. data/docs/IntlVerificationsPayload.md +1 -1
  133. data/docs/Letter.md +6 -2
  134. data/docs/LetterCustomEnvelope.md +1 -1
  135. data/docs/LetterDeletion.md +1 -1
  136. data/docs/LetterDetailsReturned.md +1 -1
  137. data/docs/LetterDetailsWritable.md +1 -1
  138. data/docs/LetterEditable.md +4 -2
  139. data/docs/LetterList.md +1 -1
  140. data/docs/LettersApi.md +10 -8
  141. data/docs/LobConfidenceScore.md +1 -1
  142. data/docs/LobError.md +1 -1
  143. data/docs/Location.md +1 -1
  144. data/docs/LocationAnalysis.md +1 -1
  145. data/docs/LtrUseType.md +15 -0
  146. data/docs/MailType.md +1 -1
  147. data/docs/MultiLineAddress.md +1 -1
  148. data/docs/MultipleComponents.md +1 -1
  149. data/docs/MultipleComponentsIntl.md +1 -1
  150. data/docs/MultipleComponentsList.md +1 -1
  151. data/docs/OptionalAddressColumnMapping.md +22 -0
  152. data/docs/PlaceholderModel.md +1 -1
  153. data/docs/Postcard.md +4 -2
  154. data/docs/PostcardDeletion.md +1 -1
  155. data/docs/PostcardDetailsReturned.md +1 -1
  156. data/docs/PostcardDetailsWritable.md +1 -1
  157. data/docs/PostcardEditable.md +4 -2
  158. data/docs/PostcardList.md +1 -1
  159. data/docs/PostcardSize.md +1 -1
  160. data/docs/PostcardsApi.md +7 -7
  161. data/docs/PscUseType.md +15 -0
  162. data/docs/QrCode.md +1 -1
  163. data/docs/RequiredAddressColumnMapping.md +26 -0
  164. data/docs/ReturnEnvelope.md +1 -1
  165. data/docs/ReverseGeocode.md +1 -1
  166. data/docs/ReverseGeocodeLookupsApi.md +1 -1
  167. data/docs/SelfMailer.md +5 -3
  168. data/docs/SelfMailerDeletion.md +1 -1
  169. data/docs/SelfMailerEditable.md +4 -2
  170. data/docs/SelfMailerList.md +1 -1
  171. data/docs/SelfMailerSize.md +1 -1
  172. data/docs/SelfMailersApi.md +7 -7
  173. data/docs/SfmUseType.md +15 -0
  174. data/docs/SnapPack.md +50 -0
  175. data/docs/SnapPackDeletion.md +22 -0
  176. data/docs/SnapPackEditable.md +40 -0
  177. data/docs/SnapPackList.md +28 -0
  178. data/docs/SnapPackSize.md +15 -0
  179. data/docs/SnapPacksApi.md +317 -0
  180. data/docs/SnpUseType.md +15 -0
  181. data/docs/SortBy.md +1 -1
  182. data/docs/SortBy1.md +1 -1
  183. data/docs/SortBy2.md +1 -1
  184. data/docs/SortBy3.md +1 -1
  185. data/docs/SortBy4.md +20 -0
  186. data/docs/SortByDateModified.md +1 -1
  187. data/docs/Suggestions.md +1 -1
  188. data/docs/Template.md +1 -1
  189. data/docs/TemplateDeletion.md +1 -1
  190. data/docs/TemplateList.md +1 -1
  191. data/docs/TemplateUpdate.md +1 -1
  192. data/docs/TemplateVersion.md +1 -1
  193. data/docs/TemplateVersionDeletion.md +1 -1
  194. data/docs/TemplateVersionList.md +1 -1
  195. data/docs/TemplateVersionUpdatable.md +1 -1
  196. data/docs/TemplateVersionWritable.md +1 -1
  197. data/docs/TemplateVersionsApi.md +5 -5
  198. data/docs/TemplateWritable.md +1 -1
  199. data/docs/TemplatesApi.md +5 -5
  200. data/docs/Thumbnail.md +1 -1
  201. data/docs/TrackingEventCertified.md +1 -1
  202. data/docs/TrackingEventDetails.md +1 -1
  203. data/docs/TrackingEventNormal.md +2 -2
  204. data/docs/Upload.md +12 -6
  205. data/docs/UploadCreateExport.md +1 -1
  206. data/docs/UploadFile.md +1 -1
  207. data/docs/UploadState.md +1 -1
  208. data/docs/UploadUpdatable.md +10 -4
  209. data/docs/UploadWritable.md +11 -3
  210. data/docs/UploadsApi.md +102 -102
  211. data/docs/UploadsMetadata.md +18 -0
  212. data/docs/UsAddress.md +54 -0
  213. data/docs/UsAutocompletions.md +1 -1
  214. data/docs/UsAutocompletionsApi.md +1 -1
  215. data/docs/UsAutocompletionsWritable.md +1 -1
  216. data/docs/UsComponents.md +28 -28
  217. data/docs/UsVerification.md +1 -1
  218. data/docs/UsVerificationOrError.md +1 -1
  219. data/docs/UsVerifications.md +1 -1
  220. data/docs/UsVerificationsApi.md +2 -2
  221. data/docs/UsVerificationsWritable.md +1 -1
  222. data/docs/ValidationError.md +1 -1
  223. data/docs/Zip.md +1 -1
  224. data/docs/ZipCodeType.md +1 -1
  225. data/docs/ZipEditable.md +1 -1
  226. data/docs/ZipLookupCity.md +1 -1
  227. data/docs/ZipLookupsApi.md +1 -1
  228. data/git_push.sh +0 -0
  229. data/lib/{openapi_client → lob}/api/checks_api.rb +2 -2
  230. data/lib/{openapi_client → lob}/api/letters_api.rb +2 -2
  231. data/lib/{openapi_client → lob}/api/postcards_api.rb +2 -2
  232. data/lib/{openapi_client → lob}/api/self_mailers_api.rb +2 -2
  233. data/lib/lob/api/snap_packs_api.rb +340 -0
  234. data/lib/lob/api_client.rb +392 -0
  235. data/lib/lob/api_error.rb +57 -0
  236. data/lib/lob/configuration.rb +279 -0
  237. data/lib/{openapi_client → lob}/models/bank_account.rb +3 -3
  238. data/lib/{openapi_client → lob}/models/check.rb +3 -3
  239. data/lib/lob/models/country_extended_expanded_no_us.rb +254 -0
  240. data/lib/lob/models/intl_address.rb +624 -0
  241. data/lib/{openapi_client → lob}/models/intl_components.rb +0 -0
  242. data/lib/{openapi_client → lob}/models/letter.rb +4 -19
  243. data/lib/{openapi_client → lob}/models/multiple_components.rb +5 -5
  244. data/lib/{openapi_client → lob}/models/postcard.rb +3 -3
  245. data/lib/{openapi_client → lob}/models/self_mailer.rb +3 -3
  246. data/lib/{openapi_client → lob}/models/self_mailer_size.rb +1 -0
  247. data/lib/lob/models/snap_pack.rb +584 -0
  248. data/lib/lob/models/snap_pack_deletion.rb +303 -0
  249. data/lib/lob/models/snap_pack_editable.rb +384 -0
  250. data/lib/lob/models/snap_pack_list.rb +324 -0
  251. data/lib/lob/models/snap_pack_size.rb +36 -0
  252. data/lib/lob/models/snp_use_type.rb +38 -0
  253. data/lib/lob/models/sort_by4.rb +283 -0
  254. data/lib/{openapi_client → lob}/models/thumbnail.rb +9 -9
  255. data/lib/{openapi_client → lob}/models/upload.rb +16 -1
  256. data/lib/lob/models/us_address.rb +644 -0
  257. data/lib/{openapi_client → lob}/models/us_verification.rb +8 -8
  258. data/lib/{openapi_client → lob}/models/us_verification_or_error.rb +6 -6
  259. data/lib/{openapi_client → lob}/models/us_verifications.rb +1 -1
  260. data/lib/{openapi_client → lob}/models/us_verifications_writable.rb +6 -6
  261. data/lib/lob/version.rb +15 -0
  262. data/lib/lob.rb +220 -1
  263. data/lib/openapi_client/version.rb +1 -1
  264. data/lib/openapi_client.rb +173 -173
  265. data/{openapi_client.gemspec → lob.gemspec} +8 -7
  266. data/spec/api/addresses_api_spec.rb +0 -0
  267. data/spec/api/bank_accounts_api_spec.rb +0 -0
  268. data/spec/api/billing_groups_api_spec.rb +0 -0
  269. data/spec/api/buckslip_orders_api_spec.rb +62 -0
  270. data/spec/api/buckslips_api_spec.rb +100 -0
  271. data/spec/api/campaigns_api_spec.rb +0 -0
  272. data/spec/api/card_orders_api_spec.rb +0 -0
  273. data/spec/api/cards_api_spec.rb +0 -0
  274. data/spec/api/checks_api_spec.rb +0 -0
  275. data/spec/api/creatives_api_spec.rb +0 -0
  276. data/spec/api/default_api_spec.rb +0 -0
  277. data/spec/api/identity_validation_api_spec.rb +0 -0
  278. data/spec/api/intl_autocompletions_api_spec.rb +0 -0
  279. data/spec/api/intl_verifications_api_spec.rb +0 -0
  280. data/spec/api/letters_api_spec.rb +0 -0
  281. data/spec/api/postcards_api_spec.rb +0 -0
  282. data/spec/api/reverse_geocode_lookups_api_spec.rb +0 -0
  283. data/spec/api/self_mailers_api_spec.rb +0 -0
  284. data/spec/api/snap_packs_api_spec.rb +94 -0
  285. data/spec/api/template_versions_api_spec.rb +0 -0
  286. data/spec/api/templates_api_spec.rb +0 -0
  287. data/spec/api/uploads_api_spec.rb +0 -0
  288. data/spec/api/us_autocompletions_api_spec.rb +0 -0
  289. data/spec/api/us_verifications_api_spec.rb +0 -0
  290. data/spec/api/zip_lookups_api_spec.rb +0 -0
  291. data/spec/api_client_spec.rb +0 -0
  292. data/spec/configuration_spec.rb +0 -0
  293. data/spec/spec_helper.rb +1 -1
  294. metadata +239 -198
  295. /data/lib/{openapi_client → lob}/api/addresses_api.rb +0 -0
  296. /data/lib/{openapi_client → lob}/api/bank_accounts_api.rb +0 -0
  297. /data/lib/{openapi_client → lob}/api/billing_groups_api.rb +0 -0
  298. /data/lib/{openapi_client → lob}/api/buckslip_orders_api.rb +0 -0
  299. /data/lib/{openapi_client → lob}/api/buckslips_api.rb +0 -0
  300. /data/lib/{openapi_client → lob}/api/campaigns_api.rb +0 -0
  301. /data/lib/{openapi_client → lob}/api/card_orders_api.rb +0 -0
  302. /data/lib/{openapi_client → lob}/api/cards_api.rb +0 -0
  303. /data/lib/{openapi_client → lob}/api/creatives_api.rb +0 -0
  304. /data/lib/{openapi_client → lob}/api/default_api.rb +0 -0
  305. /data/lib/{openapi_client → lob}/api/identity_validation_api.rb +0 -0
  306. /data/lib/{openapi_client → lob}/api/intl_autocompletions_api.rb +0 -0
  307. /data/lib/{openapi_client → lob}/api/intl_verifications_api.rb +0 -0
  308. /data/lib/{openapi_client → lob}/api/reverse_geocode_lookups_api.rb +0 -0
  309. /data/lib/{openapi_client → lob}/api/template_versions_api.rb +0 -0
  310. /data/lib/{openapi_client → lob}/api/templates_api.rb +0 -0
  311. /data/lib/{openapi_client → lob}/api/uploads_api.rb +0 -0
  312. /data/lib/{openapi_client → lob}/api/us_autocompletions_api.rb +0 -0
  313. /data/lib/{openapi_client → lob}/api/us_verifications_api.rb +0 -0
  314. /data/lib/{openapi_client → lob}/api/zip_lookups_api.rb +0 -0
  315. /data/lib/{openapi_client → lob}/models/address.rb +0 -0
  316. /data/lib/{openapi_client → lob}/models/address_deletion.rb +0 -0
  317. /data/lib/{openapi_client → lob}/models/address_domestic.rb +0 -0
  318. /data/lib/{openapi_client → lob}/models/address_domestic_expanded.rb +0 -0
  319. /data/lib/{openapi_client → lob}/models/address_editable.rb +0 -0
  320. /data/lib/{openapi_client → lob}/models/address_list.rb +0 -0
  321. /data/lib/{openapi_client → lob}/models/bank_account_deletion.rb +0 -0
  322. /data/lib/{openapi_client → lob}/models/bank_account_list.rb +0 -0
  323. /data/lib/{openapi_client → lob}/models/bank_account_verify.rb +0 -0
  324. /data/lib/{openapi_client → lob}/models/bank_account_writable.rb +0 -0
  325. /data/lib/{openapi_client → lob}/models/bank_type_enum.rb +0 -0
  326. /data/lib/{openapi_client → lob}/models/billing_group.rb +0 -0
  327. /data/lib/{openapi_client → lob}/models/billing_group_editable.rb +0 -0
  328. /data/lib/{openapi_client → lob}/models/billing_group_list.rb +0 -0
  329. /data/lib/{openapi_client → lob}/models/buckslip.rb +0 -0
  330. /data/lib/{openapi_client → lob}/models/buckslip_deletion.rb +0 -0
  331. /data/lib/{openapi_client → lob}/models/buckslip_editable.rb +0 -0
  332. /data/lib/{openapi_client → lob}/models/buckslip_order.rb +0 -0
  333. /data/lib/{openapi_client → lob}/models/buckslip_order_editable.rb +0 -0
  334. /data/lib/{openapi_client → lob}/models/buckslip_orders_list.rb +0 -0
  335. /data/lib/{openapi_client → lob}/models/buckslip_updatable.rb +0 -0
  336. /data/lib/{openapi_client → lob}/models/buckslips_list.rb +0 -0
  337. /data/lib/{openapi_client → lob}/models/bulk_error.rb +0 -0
  338. /data/lib/{openapi_client → lob}/models/bulk_error_properties.rb +0 -0
  339. /data/lib/{openapi_client → lob}/models/campaign.rb +0 -0
  340. /data/lib/{openapi_client → lob}/models/campaign_creative.rb +0 -0
  341. /data/lib/{openapi_client → lob}/models/campaign_deletion.rb +0 -0
  342. /data/lib/{openapi_client → lob}/models/campaign_updatable.rb +0 -0
  343. /data/lib/{openapi_client → lob}/models/campaign_writable.rb +0 -0
  344. /data/lib/{openapi_client → lob}/models/campaigns_list.rb +0 -0
  345. /data/lib/{openapi_client → lob}/models/card.rb +0 -0
  346. /data/lib/{openapi_client → lob}/models/card_deletion.rb +0 -0
  347. /data/lib/{openapi_client → lob}/models/card_editable.rb +0 -0
  348. /data/lib/{openapi_client → lob}/models/card_list.rb +0 -0
  349. /data/lib/{openapi_client → lob}/models/card_order.rb +0 -0
  350. /data/lib/{openapi_client → lob}/models/card_order_editable.rb +0 -0
  351. /data/lib/{openapi_client → lob}/models/card_order_list.rb +0 -0
  352. /data/lib/{openapi_client → lob}/models/card_updatable.rb +0 -0
  353. /data/lib/{openapi_client → lob}/models/check_deletion.rb +0 -0
  354. /data/lib/{openapi_client → lob}/models/check_editable.rb +0 -0
  355. /data/lib/{openapi_client → lob}/models/check_list.rb +0 -0
  356. /data/lib/{openapi_client → lob}/models/chk_use_type.rb +0 -0
  357. /data/lib/{openapi_client → lob}/models/cmp_schedule_type.rb +0 -0
  358. /data/lib/{openapi_client → lob}/models/cmp_use_type.rb +0 -0
  359. /data/lib/{openapi_client → lob}/models/country_extended.rb +0 -0
  360. /data/lib/{openapi_client → lob}/models/country_extended_expanded.rb +0 -0
  361. /data/lib/{openapi_client → lob}/models/creative_patch.rb +0 -0
  362. /data/lib/{openapi_client → lob}/models/creative_response.rb +0 -0
  363. /data/lib/{openapi_client → lob}/models/creative_writable.rb +0 -0
  364. /data/lib/{openapi_client → lob}/models/custom_envelope_returned.rb +0 -0
  365. /data/lib/{openapi_client → lob}/models/deliverability_analysis.rb +0 -0
  366. /data/lib/{openapi_client → lob}/models/dpv_footnote.rb +0 -0
  367. /data/lib/{openapi_client → lob}/models/engine_html.rb +0 -0
  368. /data/lib/{openapi_client → lob}/models/event_type.rb +0 -0
  369. /data/lib/{openapi_client → lob}/models/events.rb +0 -0
  370. /data/lib/{openapi_client → lob}/models/export.rb +0 -0
  371. /data/lib/{openapi_client → lob}/models/export_model.rb +0 -0
  372. /data/lib/{openapi_client → lob}/models/geocode_addresses.rb +0 -0
  373. /data/lib/{openapi_client → lob}/models/geocode_components.rb +0 -0
  374. /data/lib/{openapi_client → lob}/models/http_validation_error.rb +0 -0
  375. /data/lib/{openapi_client → lob}/models/identity_validation.rb +0 -0
  376. /data/lib/{openapi_client → lob}/models/inline_object.rb +0 -0
  377. /data/lib/{openapi_client → lob}/models/intl_autocompletions.rb +0 -0
  378. /data/lib/{openapi_client → lob}/models/intl_autocompletions_writable.rb +0 -0
  379. /data/lib/{openapi_client → lob}/models/intl_suggestions.rb +0 -0
  380. /data/lib/{openapi_client → lob}/models/intl_verification.rb +0 -0
  381. /data/lib/{openapi_client → lob}/models/intl_verification_or_error.rb +0 -0
  382. /data/lib/{openapi_client → lob}/models/intl_verification_writable.rb +0 -0
  383. /data/lib/{openapi_client → lob}/models/intl_verifications.rb +0 -0
  384. /data/lib/{openapi_client → lob}/models/intl_verifications_payload.rb +0 -0
  385. /data/lib/{openapi_client → lob}/models/letter_custom_envelope.rb +0 -0
  386. /data/lib/{openapi_client → lob}/models/letter_deletion.rb +0 -0
  387. /data/lib/{openapi_client → lob}/models/letter_details_returned.rb +0 -0
  388. /data/lib/{openapi_client → lob}/models/letter_details_writable.rb +0 -0
  389. /data/lib/{openapi_client → lob}/models/letter_editable.rb +0 -0
  390. /data/lib/{openapi_client → lob}/models/letter_list.rb +0 -0
  391. /data/lib/{openapi_client → lob}/models/lob_confidence_score.rb +0 -0
  392. /data/lib/{openapi_client → lob}/models/lob_error.rb +0 -0
  393. /data/lib/{openapi_client → lob}/models/location.rb +0 -0
  394. /data/lib/{openapi_client → lob}/models/location_analysis.rb +0 -0
  395. /data/lib/{openapi_client → lob}/models/ltr_use_type.rb +0 -0
  396. /data/lib/{openapi_client → lob}/models/mail_type.rb +0 -0
  397. /data/lib/{openapi_client → lob}/models/multi_line_address.rb +0 -0
  398. /data/lib/{openapi_client → lob}/models/multiple_components_intl.rb +0 -0
  399. /data/lib/{openapi_client → lob}/models/multiple_components_list.rb +0 -0
  400. /data/lib/{openapi_client → lob}/models/optional_address_column_mapping.rb +0 -0
  401. /data/lib/{openapi_client → lob}/models/placeholder_model.rb +0 -0
  402. /data/lib/{openapi_client → lob}/models/postcard_deletion.rb +0 -0
  403. /data/lib/{openapi_client → lob}/models/postcard_details_returned.rb +0 -0
  404. /data/lib/{openapi_client → lob}/models/postcard_details_writable.rb +0 -0
  405. /data/lib/{openapi_client → lob}/models/postcard_editable.rb +0 -0
  406. /data/lib/{openapi_client → lob}/models/postcard_list.rb +0 -0
  407. /data/lib/{openapi_client → lob}/models/postcard_size.rb +0 -0
  408. /data/lib/{openapi_client → lob}/models/psc_use_type.rb +0 -0
  409. /data/lib/{openapi_client → lob}/models/qr_code.rb +0 -0
  410. /data/lib/{openapi_client → lob}/models/required_address_column_mapping.rb +0 -0
  411. /data/lib/{openapi_client → lob}/models/return_envelope.rb +0 -0
  412. /data/lib/{openapi_client → lob}/models/reverse_geocode.rb +0 -0
  413. /data/lib/{openapi_client → lob}/models/self_mailer_deletion.rb +0 -0
  414. /data/lib/{openapi_client → lob}/models/self_mailer_editable.rb +0 -0
  415. /data/lib/{openapi_client → lob}/models/self_mailer_list.rb +0 -0
  416. /data/lib/{openapi_client → lob}/models/sfm_use_type.rb +0 -0
  417. /data/lib/{openapi_client → lob}/models/sort_by.rb +0 -0
  418. /data/lib/{openapi_client → lob}/models/sort_by1.rb +0 -0
  419. /data/lib/{openapi_client → lob}/models/sort_by2.rb +0 -0
  420. /data/lib/{openapi_client → lob}/models/sort_by3.rb +0 -0
  421. /data/lib/{openapi_client → lob}/models/sort_by_date_modified.rb +0 -0
  422. /data/lib/{openapi_client → lob}/models/suggestions.rb +0 -0
  423. /data/lib/{openapi_client → lob}/models/template.rb +0 -0
  424. /data/lib/{openapi_client → lob}/models/template_deletion.rb +0 -0
  425. /data/lib/{openapi_client → lob}/models/template_list.rb +0 -0
  426. /data/lib/{openapi_client → lob}/models/template_update.rb +0 -0
  427. /data/lib/{openapi_client → lob}/models/template_version.rb +0 -0
  428. /data/lib/{openapi_client → lob}/models/template_version_deletion.rb +0 -0
  429. /data/lib/{openapi_client → lob}/models/template_version_list.rb +0 -0
  430. /data/lib/{openapi_client → lob}/models/template_version_updatable.rb +0 -0
  431. /data/lib/{openapi_client → lob}/models/template_version_writable.rb +0 -0
  432. /data/lib/{openapi_client → lob}/models/template_writable.rb +0 -0
  433. /data/lib/{openapi_client → lob}/models/tracking_event_certified.rb +0 -0
  434. /data/lib/{openapi_client → lob}/models/tracking_event_details.rb +0 -0
  435. /data/lib/{openapi_client → lob}/models/tracking_event_normal.rb +0 -0
  436. /data/lib/{openapi_client → lob}/models/upload_create_export.rb +0 -0
  437. /data/lib/{openapi_client → lob}/models/upload_file.rb +0 -0
  438. /data/lib/{openapi_client → lob}/models/upload_state.rb +0 -0
  439. /data/lib/{openapi_client → lob}/models/upload_updatable.rb +0 -0
  440. /data/lib/{openapi_client → lob}/models/upload_writable.rb +0 -0
  441. /data/lib/{openapi_client → lob}/models/uploads_metadata.rb +0 -0
  442. /data/lib/{openapi_client → lob}/models/us_autocompletions.rb +0 -0
  443. /data/lib/{openapi_client → lob}/models/us_autocompletions_writable.rb +0 -0
  444. /data/lib/{openapi_client → lob}/models/us_components.rb +0 -0
  445. /data/lib/{openapi_client → lob}/models/validation_error.rb +0 -0
  446. /data/lib/{openapi_client → lob}/models/zip.rb +0 -0
  447. /data/lib/{openapi_client → lob}/models/zip_code_type.rb +0 -0
  448. /data/lib/{openapi_client → lob}/models/zip_editable.rb +0 -0
  449. /data/lib/{openapi_client → lob}/models/zip_lookup_city.rb +0 -0
@@ -0,0 +1,624 @@
1
+ =begin
2
+ #Lob
3
+
4
+ #The Lob API is organized around REST. Our API is designed to have predictable, resource-oriented URLs and uses HTTP response codes to indicate any API errors. <p> Looking for our [previous documentation](https://lob.github.io/legacy-docs/)?
5
+
6
+ The version of the OpenAPI document: 1.3.0
7
+ Contact: lob-openapi@lob.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.2.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Lob
17
+ class IntlAddress
18
+ # Unique identifier prefixed with `adr_`.
19
+ attr_accessor :id
20
+
21
+ # An internal description that identifies this resource. Must be no longer than 255 characters.
22
+ attr_accessor :description
23
+
24
+ # name associated with address
25
+ attr_accessor :name
26
+
27
+ # Either `name` or `company` is required, you may also add both.
28
+ attr_accessor :company
29
+
30
+ # Must be no longer than 40 characters.
31
+ attr_accessor :phone
32
+
33
+ # Must be no longer than 100 characters.
34
+ attr_accessor :email
35
+
36
+ # Use metadata to store custom information for tagging and labeling back to your internal systems. Must be an object with up to 20 key-value pairs. Keys must be at most 40 characters and values must be at most 500 characters. Neither can contain the characters `\"` and `\\`. i.e. '{\"customer_id\" : \"NEWYORK2015\"}' Nested objects are not supported. See [Metadata](#section/Metadata) for more information.
37
+ attr_accessor :metadata
38
+
39
+ attr_accessor :address_line1
40
+
41
+ attr_accessor :address_line2
42
+
43
+ attr_accessor :address_city
44
+
45
+ # 2 letter state short-name code
46
+ attr_accessor :address_state
47
+
48
+ # Must have a maximum of 12 characters
49
+ attr_accessor :address_zip
50
+
51
+ attr_accessor :address_country
52
+
53
+ attr_accessor :object
54
+
55
+ # A timestamp in ISO 8601 format of the date the resource was created.
56
+ attr_accessor :date_created
57
+
58
+ # A timestamp in ISO 8601 format of the date the resource was last modified.
59
+ attr_accessor :date_modified
60
+
61
+ # Only returned if the resource has been successfully deleted.
62
+ attr_accessor :deleted
63
+
64
+ # Checks if address id is used or not
65
+ attr_accessor :inline
66
+
67
+ # Only returned for accounts on certain <a href=\"https://dashboard.lob.com/#/settings/editions\">Print &amp; Mail Editions</a>. Value is `true` if the address was altered because the recipient filed for a <a href=\"#ncoa\">National Change of Address (NCOA)</a>, `false` if the NCOA check was run but no altered address was found, and `null` if the NCOA check was not run. The NCOA check does not happen for non-US addresses, for non-deliverable US addresses, or for addresses created before the NCOA feature was added to your account.
68
+ attr_accessor :recipient_moved
69
+
70
+ class EnumAttributeValidator
71
+ attr_reader :datatype
72
+ attr_reader :allowable_values
73
+
74
+ def initialize(datatype, allowable_values)
75
+ @allowable_values = allowable_values.map do |value|
76
+ case datatype.to_s
77
+ when /Integer/i
78
+ value.to_i
79
+ when /Float/i
80
+ value.to_f
81
+ else
82
+ value
83
+ end
84
+ end
85
+ end
86
+
87
+ def valid?(value)
88
+ !value || allowable_values.include?(value)
89
+ end
90
+ end
91
+
92
+ # Attribute mapping from ruby-style variable name to JSON key.
93
+ def self.attribute_map
94
+ {
95
+ :'id' => :'id',
96
+ :'description' => :'description',
97
+ :'name' => :'name',
98
+ :'company' => :'company',
99
+ :'phone' => :'phone',
100
+ :'email' => :'email',
101
+ :'metadata' => :'metadata',
102
+ :'address_line1' => :'address_line1',
103
+ :'address_line2' => :'address_line2',
104
+ :'address_city' => :'address_city',
105
+ :'address_state' => :'address_state',
106
+ :'address_zip' => :'address_zip',
107
+ :'address_country' => :'address_country',
108
+ :'object' => :'object',
109
+ :'date_created' => :'date_created',
110
+ :'date_modified' => :'date_modified',
111
+ :'deleted' => :'deleted',
112
+ :'inline' => :'inline',
113
+ :'recipient_moved' => :'recipient_moved'
114
+ }
115
+ end
116
+
117
+ # Returns all the JSON keys this model knows about
118
+ def self.acceptable_attributes
119
+ attribute_map.values
120
+ end
121
+
122
+ # Attribute type mapping.
123
+ def self.openapi_types
124
+ {
125
+ :'id' => :'String',
126
+ :'description' => :'String',
127
+ :'name' => :'String',
128
+ :'company' => :'String',
129
+ :'phone' => :'String',
130
+ :'email' => :'String',
131
+ :'metadata' => :'Hash<String, String>',
132
+ :'address_line1' => :'String',
133
+ :'address_line2' => :'String',
134
+ :'address_city' => :'String',
135
+ :'address_state' => :'String',
136
+ :'address_zip' => :'String',
137
+ :'address_country' => :'CountryExtendedExpandedNoUs',
138
+ :'object' => :'String',
139
+ :'date_created' => :'Time',
140
+ :'date_modified' => :'Time',
141
+ :'deleted' => :'Boolean',
142
+ :'inline' => :'Boolean',
143
+ :'recipient_moved' => :'Boolean'
144
+ }
145
+ end
146
+
147
+ # List of attributes with nullable: true
148
+ def self.openapi_nullable
149
+ Set.new([
150
+ :'description',
151
+ :'name',
152
+ :'company',
153
+ :'phone',
154
+ :'email',
155
+ :'address_line2',
156
+ :'recipient_moved'
157
+ ])
158
+ end
159
+
160
+ # Initializes the object
161
+ # @param [Hash] attributes Model attributes in the form of hash
162
+ def initialize(attributes = {})
163
+ if (!attributes.is_a?(Hash))
164
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lob::IntlAddress` initialize method"
165
+ end
166
+
167
+ # check to see if the attribute exists and convert string to symbol for hash key
168
+ attributes = attributes.each_with_object({}) { |(k, v), h|
169
+ if (!self.class.attribute_map.key?(k.to_sym))
170
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lob::IntlAddress`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
171
+ end
172
+ h[k.to_sym] = v
173
+ }
174
+
175
+ if attributes.key?(:'id')
176
+ self.id = attributes[:'id']
177
+ end
178
+
179
+ if attributes.key?(:'description')
180
+ self.description = attributes[:'description']
181
+ end
182
+
183
+ if attributes.key?(:'name')
184
+ self.name = attributes[:'name']
185
+ end
186
+
187
+ if attributes.key?(:'company')
188
+ self.company = attributes[:'company']
189
+ end
190
+
191
+ if attributes.key?(:'phone')
192
+ self.phone = attributes[:'phone']
193
+ end
194
+
195
+ if attributes.key?(:'email')
196
+ self.email = attributes[:'email']
197
+ end
198
+
199
+ if attributes.key?(:'metadata')
200
+ if (value = attributes[:'metadata']).is_a?(Hash)
201
+ self.metadata = value
202
+ end
203
+ end
204
+
205
+ if attributes.key?(:'address_line1')
206
+ self.address_line1 = attributes[:'address_line1']
207
+ end
208
+
209
+ if attributes.key?(:'address_line2')
210
+ self.address_line2 = attributes[:'address_line2']
211
+ end
212
+
213
+ if attributes.key?(:'address_city')
214
+ self.address_city = attributes[:'address_city']
215
+ end
216
+
217
+ if attributes.key?(:'address_state')
218
+ self.address_state = attributes[:'address_state']
219
+ end
220
+
221
+ if attributes.key?(:'address_zip')
222
+ self.address_zip = attributes[:'address_zip']
223
+ end
224
+
225
+ if attributes.key?(:'address_country')
226
+ self.address_country = attributes[:'address_country']
227
+ end
228
+
229
+ if attributes.key?(:'object')
230
+ self.object = attributes[:'object']
231
+ else
232
+ self.object = 'address'
233
+ end
234
+
235
+ if attributes.key?(:'date_created')
236
+ self.date_created = attributes[:'date_created']
237
+ end
238
+
239
+ if attributes.key?(:'date_modified')
240
+ self.date_modified = attributes[:'date_modified']
241
+ end
242
+
243
+ if attributes.key?(:'deleted')
244
+ self.deleted = attributes[:'deleted']
245
+ end
246
+
247
+ if attributes.key?(:'inline')
248
+ self.inline = attributes[:'inline']
249
+ end
250
+
251
+ if attributes.key?(:'recipient_moved')
252
+ self.recipient_moved = attributes[:'recipient_moved']
253
+ end
254
+ end
255
+
256
+ # Show invalid properties with the reasons. Usually used together with valid?
257
+ # @return Array for valid properties with the reasons
258
+ def list_invalid_properties
259
+ invalid_properties = Array.new
260
+ pattern = Regexp.new(/^adr_[a-zA-Z0-9]+$/)
261
+ if !@id.nil? && @id !~ pattern
262
+ invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.")
263
+ end
264
+
265
+ if !@description.nil? && @description.to_s.length > 255
266
+ invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 255.')
267
+ end
268
+
269
+ if !@name.nil? && @name.to_s.length > 40
270
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 40.')
271
+ end
272
+
273
+ if !@company.nil? && @company.to_s.length > 40
274
+ invalid_properties.push('invalid value for "company", the character length must be smaller than or equal to 40.')
275
+ end
276
+
277
+ if !@phone.nil? && @phone.to_s.length > 40
278
+ invalid_properties.push('invalid value for "phone", the character length must be smaller than or equal to 40.')
279
+ end
280
+
281
+ if !@email.nil? && @email.to_s.length > 100
282
+ invalid_properties.push('invalid value for "email", the character length must be smaller than or equal to 100.')
283
+ end
284
+
285
+ if !@address_line1.nil? && @address_line1.to_s.length > 64
286
+ invalid_properties.push('invalid value for "address_line1", the character length must be smaller than or equal to 64.')
287
+ end
288
+
289
+ if !@address_line2.nil? && @address_line2.to_s.length > 64
290
+ invalid_properties.push('invalid value for "address_line2", the character length must be smaller than or equal to 64.')
291
+ end
292
+
293
+ if !@address_city.nil? && @address_city.to_s.length > 200
294
+ invalid_properties.push('invalid value for "address_city", the character length must be smaller than or equal to 200.')
295
+ end
296
+
297
+ pattern = Regexp.new(/^[a-zA-Z]{2}$/)
298
+ if !@address_state.nil? && @address_state !~ pattern
299
+ invalid_properties.push("invalid value for \"address_state\", must conform to the pattern #{pattern}.")
300
+ end
301
+
302
+ if !@address_zip.nil? && @address_zip.to_s.length > 12
303
+ invalid_properties.push('invalid value for "address_zip", the character length must be smaller than or equal to 12.')
304
+ end
305
+
306
+ invalid_properties
307
+ end
308
+
309
+ # Check to see if the all the properties in the model are valid
310
+ # @return true if the model is valid
311
+ def valid?
312
+ return false if !@id.nil? && @id !~ Regexp.new(/^adr_[a-zA-Z0-9]+$/)
313
+ return false if !@description.nil? && @description.to_s.length > 255
314
+ return false if !@name.nil? && @name.to_s.length > 40
315
+ return false if !@company.nil? && @company.to_s.length > 40
316
+ return false if !@phone.nil? && @phone.to_s.length > 40
317
+ return false if !@email.nil? && @email.to_s.length > 100
318
+ return false if !@address_line1.nil? && @address_line1.to_s.length > 64
319
+ return false if !@address_line2.nil? && @address_line2.to_s.length > 64
320
+ return false if !@address_city.nil? && @address_city.to_s.length > 200
321
+ return false if !@address_state.nil? && @address_state !~ Regexp.new(/^[a-zA-Z]{2}$/)
322
+ return false if !@address_zip.nil? && @address_zip.to_s.length > 12
323
+ object_validator = EnumAttributeValidator.new('String', ["address"])
324
+ return false unless object_validator.valid?(@object)
325
+ true
326
+ end
327
+
328
+ # Custom attribute writer method with validation
329
+ # @param [Object] id Value to be assigned
330
+ def id=(id)
331
+ pattern = Regexp.new(/^adr_[a-zA-Z0-9]+$/)
332
+ if !id.nil? && id !~ pattern
333
+ fail ArgumentError, "invalid value for \"id\", must conform to the pattern #{pattern}."
334
+ end
335
+
336
+ @id = id
337
+ end
338
+
339
+ # Custom attribute writer method with validation
340
+ # @param [Object] description Value to be assigned
341
+ def description=(description)
342
+ if !description.nil? && description.to_s.length > 255
343
+ fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 255.'
344
+ end
345
+
346
+ @description = description
347
+ end
348
+
349
+ # Custom attribute writer method with validation
350
+ # @param [Object] name Value to be assigned
351
+ def name=(name)
352
+ if !name.nil? && name.to_s.length > 40
353
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 40.'
354
+ end
355
+
356
+ @name = name
357
+ end
358
+
359
+ # Custom attribute writer method with validation
360
+ # @param [Object] company Value to be assigned
361
+ def company=(company)
362
+ if !company.nil? && company.to_s.length > 40
363
+ fail ArgumentError, 'invalid value for "company", the character length must be smaller than or equal to 40.'
364
+ end
365
+
366
+ @company = company
367
+ end
368
+
369
+ # Custom attribute writer method with validation
370
+ # @param [Object] phone Value to be assigned
371
+ def phone=(phone)
372
+ if !phone.nil? && phone.to_s.length > 40
373
+ fail ArgumentError, 'invalid value for "phone", the character length must be smaller than or equal to 40.'
374
+ end
375
+
376
+ @phone = phone
377
+ end
378
+
379
+ # Custom attribute writer method with validation
380
+ # @param [Object] email Value to be assigned
381
+ def email=(email)
382
+ if !email.nil? && email.to_s.length > 100
383
+ fail ArgumentError, 'invalid value for "email", the character length must be smaller than or equal to 100.'
384
+ end
385
+
386
+ @email = email
387
+ end
388
+
389
+ # Custom attribute writer method with validation
390
+ # @param [Object] metadata Value to be assigned
391
+ def metadata=(metadata)
392
+ @metadata = metadata
393
+ end
394
+
395
+ # Custom attribute writer method with validation
396
+ # @param [Object] address_line1 Value to be assigned
397
+ def address_line1=(address_line1)
398
+ if !address_line1.nil? && address_line1.to_s.length > 64
399
+ fail ArgumentError, 'invalid value for "address_line1", the character length must be smaller than or equal to 64.'
400
+ end
401
+
402
+ @address_line1 = address_line1
403
+ end
404
+
405
+ # Custom attribute writer method with validation
406
+ # @param [Object] address_line2 Value to be assigned
407
+ def address_line2=(address_line2)
408
+ if !address_line2.nil? && address_line2.to_s.length > 64
409
+ fail ArgumentError, 'invalid value for "address_line2", the character length must be smaller than or equal to 64.'
410
+ end
411
+
412
+ @address_line2 = address_line2
413
+ end
414
+
415
+ # Custom attribute writer method with validation
416
+ # @param [Object] address_city Value to be assigned
417
+ def address_city=(address_city)
418
+ if !address_city.nil? && address_city.to_s.length > 200
419
+ fail ArgumentError, 'invalid value for "address_city", the character length must be smaller than or equal to 200.'
420
+ end
421
+
422
+ @address_city = address_city
423
+ end
424
+
425
+ # Custom attribute writer method with validation
426
+ # @param [Object] address_state Value to be assigned
427
+ def address_state=(address_state)
428
+ pattern = Regexp.new(/^[a-zA-Z]{2}$/)
429
+ if !address_state.nil? && address_state !~ pattern
430
+ fail ArgumentError, "invalid value for \"address_state\", must conform to the pattern #{pattern}."
431
+ end
432
+
433
+ @address_state = address_state
434
+ end
435
+
436
+ # Custom attribute writer method with validation
437
+ # @param [Object] address_zip Value to be assigned
438
+ def address_zip=(address_zip)
439
+ if !address_zip.nil? && address_zip.to_s.length > 12
440
+ fail ArgumentError, 'invalid value for "address_zip", the character length must be smaller than or equal to 12.'
441
+ end
442
+
443
+ @address_zip = address_zip
444
+ end
445
+
446
+ # Custom attribute writer method checking allowed values (enum).
447
+ # @param [Object] object Object to be assigned
448
+ def object=(object)
449
+ validator = EnumAttributeValidator.new('String', ["address"])
450
+ unless validator.valid?(object)
451
+ fail ArgumentError, "invalid value for \"object\", must be one of #{validator.allowable_values}."
452
+ end
453
+ @object = object
454
+ end
455
+
456
+ # Checks equality by comparing each attribute.
457
+ # @param [Object] Object to be compared
458
+ def ==(o)
459
+ return true if self.equal?(o)
460
+ self.class == o.class &&
461
+ id == o.id &&
462
+ description == o.description &&
463
+ name == o.name &&
464
+ company == o.company &&
465
+ phone == o.phone &&
466
+ email == o.email &&
467
+ metadata == o.metadata &&
468
+ address_line1 == o.address_line1 &&
469
+ address_line2 == o.address_line2 &&
470
+ address_city == o.address_city &&
471
+ address_state == o.address_state &&
472
+ address_zip == o.address_zip &&
473
+ address_country == o.address_country &&
474
+ object == o.object &&
475
+ date_created == o.date_created &&
476
+ date_modified == o.date_modified &&
477
+ deleted == o.deleted &&
478
+ inline == o.inline &&
479
+ recipient_moved == o.recipient_moved
480
+ end
481
+
482
+ # @see the `==` method
483
+ # @param [Object] Object to be compared
484
+ def eql?(o)
485
+ self == o
486
+ end
487
+
488
+ # Calculates hash code according to all attributes.
489
+ # @return [Integer] Hash code
490
+ def hash
491
+ [id, description, name, company, phone, email, metadata, address_line1, address_line2, address_city, address_state, address_zip, address_country, object, date_created, date_modified, deleted, inline, recipient_moved].hash
492
+ end
493
+
494
+
495
+ # Builds the object from hash
496
+ # @param [Hash] attributes Model attributes in the form of hash
497
+ # @return [Object] Returns the model itself
498
+ def self.build_from_hash(attributes)
499
+ new.build_from_hash(attributes)
500
+ end
501
+
502
+ # Builds the object from hash
503
+ # @param [Hash] attributes Model attributes in the form of hash
504
+ # @return [Object] Returns the model itself
505
+ def build_from_hash(attributes)
506
+ return nil unless attributes.is_a?(Hash)
507
+ attributes = attributes.transform_keys(&:to_sym)
508
+ self.class.openapi_types.each_pair do |key, type|
509
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
510
+ self.send("#{key}=", nil) # // guardrails-disable-line
511
+ elsif type =~ /\AArray<(.*)>/i
512
+ # check to ensure the input is an array given that the attribute
513
+ # is documented as an array but the input is not
514
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
515
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) # // guardrails-disable-line
516
+ end
517
+ elsif !attributes[self.class.attribute_map[key]].nil? && type.kind_of?(Array)
518
+ for base_type in type do
519
+ res = _deserialize(base_type, attributes[self.class.attribute_map[key]])
520
+ if !res.nil?
521
+ self.send("#{key}=", res) # // guardrails-disable-line
522
+ break
523
+ end
524
+ end
525
+ elsif !attributes[self.class.attribute_map[key]].nil?
526
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) # // guardrails-disable-line
527
+ end
528
+ end
529
+
530
+ self
531
+ end
532
+
533
+ # Deserializes the data based on type
534
+ # @param string type Data type
535
+ # @param string value Value to be deserialized
536
+ # @return [Object] Deserialized data
537
+ def _deserialize(type, value)
538
+ case type.to_sym
539
+ when :Time
540
+ Time.parse(value)
541
+ when :Date
542
+ Date.parse(value)
543
+ when :String
544
+ value.to_s
545
+ when :Integer
546
+ value.to_i
547
+ when :Float
548
+ value.to_f
549
+ when :Boolean
550
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
551
+ true
552
+ else
553
+ false
554
+ end
555
+ when :Object
556
+ # generic object (usually a Hash), return directly
557
+ value
558
+ when /\AArray<(?<inner_type>.+)>\z/
559
+ inner_type = Regexp.last_match[:inner_type]
560
+ value.map { |v| _deserialize(inner_type, v) }
561
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
562
+ k_type = Regexp.last_match[:k_type]
563
+ v_type = Regexp.last_match[:v_type]
564
+ {}.tap do |hash|
565
+ value.each do |k, v|
566
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
567
+ end
568
+ end
569
+ else # model
570
+ # models (e.g. Pet) or oneOf
571
+ klass = Lob.const_get(type)
572
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
573
+ end
574
+ end
575
+
576
+ # Returns the string representation of the object
577
+ # @return [String] String presentation of the object
578
+ def to_s
579
+ to_hash.to_s
580
+ end
581
+
582
+ # to_body is an alias to to_hash (backward compatibility)
583
+ # @return [Hash] Returns the object in the form of hash
584
+ def to_body
585
+ to_hash
586
+ end
587
+
588
+ # Returns the object in the form of hash
589
+ # @return [Hash] Returns the object in the form of hash
590
+ def to_hash
591
+ hash = {}
592
+ self.class.attribute_map.each_pair do |attr, param|
593
+ value = self.send(attr) # // guardrails-disable-line
594
+ if value.nil?
595
+ is_nullable = self.class.openapi_nullable.include?(attr)
596
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
597
+ end
598
+
599
+ hash[param] = _to_hash(value)
600
+ end
601
+ hash
602
+ end
603
+
604
+ # Outputs non-array value in the form of hash
605
+ # For object, use to_hash. Otherwise, just return the value
606
+ # @param [Object] value Any valid value
607
+ # @return [Hash] Returns the value in the form of hash
608
+ def _to_hash(value)
609
+ if value.is_a?(Array)
610
+ value.compact.map { |v| _to_hash(v) }
611
+ elsif value.is_a?(Hash)
612
+ {}.tap do |hash|
613
+ value.each { |k, v| hash[k] = _to_hash(v) }
614
+ end
615
+ elsif value.respond_to? :to_hash
616
+ value.to_hash
617
+ else
618
+ value
619
+ end
620
+ end
621
+
622
+ end
623
+
624
+ end
@@ -67,7 +67,7 @@ module Lob
67
67
  # The tracking number, if applicable, will appear here when it becomes available. Dummy tracking numbers are not created in test mode.
68
68
  attr_accessor :tracking_number
69
69
 
70
- # Tracking events are not populated for registered or regular (no extra service) letters.
70
+ # An array of tracking_event objects ordered by ascending `time`. Will not be populated for letters created in test mode.
71
71
  attr_accessor :tracking_events
72
72
 
73
73
  # Specifies the address the return envelope will be sent back to. This is an optional argument that is available if an account is signed up for the return envelope tracking beta, and has `return_envelope`, and `perforated_page` fields populated in the API request.
@@ -401,7 +401,7 @@ module Lob
401
401
  invalid_properties.push("invalid value for \"template_version_id\", must conform to the pattern #{pattern}.")
402
402
  end
403
403
 
404
- pattern = Regexp.new(/^https:\/\/(lob-assets|lob-assets-staging)\.com\/(letters|postcards|bank-accounts|checks|self-mailers|cards)\/[a-z]{3,4}_[a-z0-9]{15,16}(\.pdf|_thumb_[a-z]+_[0-9]+\.png)\?(version=[a-z0-9-]*&)?expires=[0-9]{10}&signature=[a-zA-Z0-9_-]+$/)
404
+ pattern = Regexp.new(/^https:\/\/lob-assets.com\/(letters|postcards|bank-accounts|checks|self-mailers|cards)\/[a-z]{3,4}_[a-z0-9]{15,16}(_signature)?(\.pdf|_thumb_[a-z]+_[0-9]+\.png|\.png)\?(version=[a-z0-9]*&)expires=[0-9]{10}&signature=[a-zA-Z0-9_-]+/)
405
405
  if !@url.nil? && @url !~ pattern
406
406
  invalid_properties.push("invalid value for \"url\", must conform to the pattern #{pattern}.")
407
407
  end
@@ -414,10 +414,6 @@ module Lob
414
414
  invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 255.')
415
415
  end
416
416
 
417
- if !@tracking_events.nil? && @tracking_events.length > 0
418
- invalid_properties.push('invalid value for "tracking_events", number of items must be less than or equal to 0.')
419
- end
420
-
421
417
  invalid_properties
422
418
  end
423
419
 
@@ -434,12 +430,11 @@ module Lob
434
430
  return false if @id !~ Regexp.new(/^ltr_[a-zA-Z0-9]+$/)
435
431
  return false if !@template_id.nil? && @template_id !~ Regexp.new(/^tmpl_[a-zA-Z0-9]+$/)
436
432
  return false if !@template_version_id.nil? && @template_version_id !~ Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
437
- return false if !@url.nil? && @url !~ Regexp.new(/^https:\/\/(lob-assets|lob-assets-staging)\.com\/(letters|postcards|bank-accounts|checks|self-mailers|cards)\/[a-z]{3,4}_[a-z0-9]{15,16}(\.pdf|_thumb_[a-z]+_[0-9]+\.png)\?(version=[a-z0-9-]*&)?expires=[0-9]{10}&signature=[a-zA-Z0-9_-]+$/)
433
+ return false if !@url.nil? && @url !~ Regexp.new(/^https:\/\/lob-assets.com\/(letters|postcards|bank-accounts|checks|self-mailers|cards)\/[a-z]{3,4}_[a-z0-9]{15,16}(_signature)?(\.pdf|_thumb_[a-z]+_[0-9]+\.png|\.png)\?(version=[a-z0-9]*&)expires=[0-9]{10}&signature=[a-zA-Z0-9_-]+/)
438
434
  return false if @object.nil?
439
435
  object_validator = EnumAttributeValidator.new('String', ["letter"])
440
436
  return false unless object_validator.valid?(@object)
441
437
  return false if !@description.nil? && @description.to_s.length > 255
442
- return false if !@tracking_events.nil? && @tracking_events.length > 0
443
438
  address_placement_validator = EnumAttributeValidator.new('String', ["top_first_page", "insert_blank_page", "bottom_first_page_center", "bottom_first_page"])
444
439
  return false unless address_placement_validator.valid?(@address_placement)
445
440
  true
@@ -495,7 +490,7 @@ module Lob
495
490
  # Custom attribute writer method with validation
496
491
  # @param [Object] url Value to be assigned
497
492
  def url=(url)
498
- pattern = Regexp.new(/^https:\/\/(lob-assets|lob-assets-staging)\.com\/(letters|postcards|bank-accounts|checks|self-mailers|cards)\/[a-z]{3,4}_[a-z0-9]{15,16}(\.pdf|_thumb_[a-z]+_[0-9]+\.png)\?(version=[a-z0-9-]*&)?expires=[0-9]{10}&signature=[a-zA-Z0-9_-]+$/)
493
+ pattern = Regexp.new(/^https:\/\/lob-assets.com\/(letters|postcards|bank-accounts|checks|self-mailers|cards)\/[a-z]{3,4}_[a-z0-9]{15,16}(_signature)?(\.pdf|_thumb_[a-z]+_[0-9]+\.png|\.png)\?(version=[a-z0-9]*&)expires=[0-9]{10}&signature=[a-zA-Z0-9_-]+/)
499
494
  if !url.nil? && url !~ pattern
500
495
  fail ArgumentError, "invalid value for \"url\", must conform to the pattern #{pattern}."
501
496
  end
@@ -535,16 +530,6 @@ module Lob
535
530
  @merge_variables = merge_variables
536
531
  end
537
532
 
538
- # Custom attribute writer method with validation
539
- # @param [Object] tracking_events Value to be assigned
540
- def tracking_events=(tracking_events)
541
- if !tracking_events.nil? && tracking_events.length > 0
542
- fail ArgumentError, 'invalid value for "tracking_events", number of items must be less than or equal to 0.'
543
- end
544
-
545
- @tracking_events = tracking_events
546
- end
547
-
548
533
  # Custom attribute writer method checking allowed values (enum).
549
534
  # @param [Object] address_placement Object to be assigned
550
535
  def address_placement=(address_placement)