lob 6.0.8 → 6.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_SNIPPETS.md +10 -10
  3. data/Gemfile +0 -0
  4. data/Gemfile.lock +2 -2
  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 +44 -41
  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 +0 -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 +0 -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 +0 -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/lob/models/address.rb +616 -0
  238. data/lib/{openapi_client → lob}/models/bank_account.rb +3 -3
  239. data/lib/{openapi_client → lob}/models/check.rb +3 -3
  240. data/lib/{openapi_client → lob}/models/country_extended_expanded_no_us.rb +0 -0
  241. data/lib/{openapi_client → lob}/models/intl_address.rb +0 -0
  242. data/lib/{openapi_client → lob}/models/intl_components.rb +0 -0
  243. data/lib/{openapi_client → lob}/models/letter.rb +4 -19
  244. data/lib/{openapi_client → lob}/models/multiple_components.rb +5 -5
  245. data/lib/{openapi_client → lob}/models/postcard.rb +3 -3
  246. data/lib/{openapi_client → lob}/models/self_mailer.rb +3 -3
  247. data/lib/{openapi_client → lob}/models/self_mailer_size.rb +1 -0
  248. data/lib/lob/models/snap_pack.rb +584 -0
  249. data/lib/lob/models/snap_pack_deletion.rb +303 -0
  250. data/lib/lob/models/snap_pack_editable.rb +384 -0
  251. data/lib/lob/models/snap_pack_list.rb +324 -0
  252. data/lib/lob/models/snap_pack_size.rb +36 -0
  253. data/lib/lob/models/snp_use_type.rb +38 -0
  254. data/lib/lob/models/sort_by4.rb +283 -0
  255. data/lib/{openapi_client → lob}/models/thumbnail.rb +9 -9
  256. data/lib/{openapi_client → lob}/models/upload.rb +16 -1
  257. data/lib/{openapi_client → lob}/models/us_address.rb +0 -0
  258. data/lib/{openapi_client → lob}/models/us_verification.rb +8 -8
  259. data/lib/{openapi_client → lob}/models/us_verification_or_error.rb +6 -6
  260. data/lib/{openapi_client → lob}/models/us_verifications.rb +1 -1
  261. data/lib/{openapi_client → lob}/models/us_verifications_writable.rb +6 -6
  262. data/lib/lob/version.rb +15 -0
  263. data/lib/lob.rb +220 -1
  264. data/lib/openapi_client/version.rb +1 -1
  265. data/lib/openapi_client.rb +173 -173
  266. data/{openapi_client.gemspec → lob.gemspec} +8 -7
  267. data/spec/api/addresses_api_spec.rb +0 -0
  268. data/spec/api/bank_accounts_api_spec.rb +0 -0
  269. data/spec/api/billing_groups_api_spec.rb +0 -0
  270. data/spec/api/buckslip_orders_api_spec.rb +62 -0
  271. data/spec/api/buckslips_api_spec.rb +100 -0
  272. data/spec/api/campaigns_api_spec.rb +0 -0
  273. data/spec/api/card_orders_api_spec.rb +0 -0
  274. data/spec/api/cards_api_spec.rb +0 -0
  275. data/spec/api/checks_api_spec.rb +0 -0
  276. data/spec/api/creatives_api_spec.rb +0 -0
  277. data/spec/api/default_api_spec.rb +0 -0
  278. data/spec/api/identity_validation_api_spec.rb +0 -0
  279. data/spec/api/intl_autocompletions_api_spec.rb +0 -0
  280. data/spec/api/intl_verifications_api_spec.rb +0 -0
  281. data/spec/api/letters_api_spec.rb +0 -0
  282. data/spec/api/postcards_api_spec.rb +0 -0
  283. data/spec/api/reverse_geocode_lookups_api_spec.rb +0 -0
  284. data/spec/api/self_mailers_api_spec.rb +0 -0
  285. data/spec/api/snap_packs_api_spec.rb +94 -0
  286. data/spec/api/template_versions_api_spec.rb +0 -0
  287. data/spec/api/templates_api_spec.rb +0 -0
  288. data/spec/api/uploads_api_spec.rb +0 -0
  289. data/spec/api/us_autocompletions_api_spec.rb +0 -0
  290. data/spec/api/us_verifications_api_spec.rb +0 -0
  291. data/spec/api/zip_lookups_api_spec.rb +0 -0
  292. data/spec/api_client_spec.rb +0 -0
  293. data/spec/configuration_spec.rb +0 -0
  294. data/spec/spec_helper.rb +1 -1
  295. metadata +236 -201
  296. data/lib/openapi_client/models/address.rb +0 -105
  297. /data/lib/{openapi_client → lob}/api/addresses_api.rb +0 -0
  298. /data/lib/{openapi_client → lob}/api/bank_accounts_api.rb +0 -0
  299. /data/lib/{openapi_client → lob}/api/billing_groups_api.rb +0 -0
  300. /data/lib/{openapi_client → lob}/api/buckslip_orders_api.rb +0 -0
  301. /data/lib/{openapi_client → lob}/api/buckslips_api.rb +0 -0
  302. /data/lib/{openapi_client → lob}/api/campaigns_api.rb +0 -0
  303. /data/lib/{openapi_client → lob}/api/card_orders_api.rb +0 -0
  304. /data/lib/{openapi_client → lob}/api/cards_api.rb +0 -0
  305. /data/lib/{openapi_client → lob}/api/creatives_api.rb +0 -0
  306. /data/lib/{openapi_client → lob}/api/default_api.rb +0 -0
  307. /data/lib/{openapi_client → lob}/api/identity_validation_api.rb +0 -0
  308. /data/lib/{openapi_client → lob}/api/intl_autocompletions_api.rb +0 -0
  309. /data/lib/{openapi_client → lob}/api/intl_verifications_api.rb +0 -0
  310. /data/lib/{openapi_client → lob}/api/reverse_geocode_lookups_api.rb +0 -0
  311. /data/lib/{openapi_client → lob}/api/template_versions_api.rb +0 -0
  312. /data/lib/{openapi_client → lob}/api/templates_api.rb +0 -0
  313. /data/lib/{openapi_client → lob}/api/uploads_api.rb +0 -0
  314. /data/lib/{openapi_client → lob}/api/us_autocompletions_api.rb +0 -0
  315. /data/lib/{openapi_client → lob}/api/us_verifications_api.rb +0 -0
  316. /data/lib/{openapi_client → lob}/api/zip_lookups_api.rb +0 -0
  317. /data/lib/{openapi_client → lob}/models/address_deletion.rb +0 -0
  318. /data/lib/{openapi_client → lob}/models/address_domestic.rb +0 -0
  319. /data/lib/{openapi_client → lob}/models/address_domestic_expanded.rb +0 -0
  320. /data/lib/{openapi_client → lob}/models/address_editable.rb +0 -0
  321. /data/lib/{openapi_client → lob}/models/address_list.rb +0 -0
  322. /data/lib/{openapi_client → lob}/models/bank_account_deletion.rb +0 -0
  323. /data/lib/{openapi_client → lob}/models/bank_account_list.rb +0 -0
  324. /data/lib/{openapi_client → lob}/models/bank_account_verify.rb +0 -0
  325. /data/lib/{openapi_client → lob}/models/bank_account_writable.rb +0 -0
  326. /data/lib/{openapi_client → lob}/models/bank_type_enum.rb +0 -0
  327. /data/lib/{openapi_client → lob}/models/billing_group.rb +0 -0
  328. /data/lib/{openapi_client → lob}/models/billing_group_editable.rb +0 -0
  329. /data/lib/{openapi_client → lob}/models/billing_group_list.rb +0 -0
  330. /data/lib/{openapi_client → lob}/models/buckslip.rb +0 -0
  331. /data/lib/{openapi_client → lob}/models/buckslip_deletion.rb +0 -0
  332. /data/lib/{openapi_client → lob}/models/buckslip_editable.rb +0 -0
  333. /data/lib/{openapi_client → lob}/models/buckslip_order.rb +0 -0
  334. /data/lib/{openapi_client → lob}/models/buckslip_order_editable.rb +0 -0
  335. /data/lib/{openapi_client → lob}/models/buckslip_orders_list.rb +0 -0
  336. /data/lib/{openapi_client → lob}/models/buckslip_updatable.rb +0 -0
  337. /data/lib/{openapi_client → lob}/models/buckslips_list.rb +0 -0
  338. /data/lib/{openapi_client → lob}/models/bulk_error.rb +0 -0
  339. /data/lib/{openapi_client → lob}/models/bulk_error_properties.rb +0 -0
  340. /data/lib/{openapi_client → lob}/models/campaign.rb +0 -0
  341. /data/lib/{openapi_client → lob}/models/campaign_creative.rb +0 -0
  342. /data/lib/{openapi_client → lob}/models/campaign_deletion.rb +0 -0
  343. /data/lib/{openapi_client → lob}/models/campaign_updatable.rb +0 -0
  344. /data/lib/{openapi_client → lob}/models/campaign_writable.rb +0 -0
  345. /data/lib/{openapi_client → lob}/models/campaigns_list.rb +0 -0
  346. /data/lib/{openapi_client → lob}/models/card.rb +0 -0
  347. /data/lib/{openapi_client → lob}/models/card_deletion.rb +0 -0
  348. /data/lib/{openapi_client → lob}/models/card_editable.rb +0 -0
  349. /data/lib/{openapi_client → lob}/models/card_list.rb +0 -0
  350. /data/lib/{openapi_client → lob}/models/card_order.rb +0 -0
  351. /data/lib/{openapi_client → lob}/models/card_order_editable.rb +0 -0
  352. /data/lib/{openapi_client → lob}/models/card_order_list.rb +0 -0
  353. /data/lib/{openapi_client → lob}/models/card_updatable.rb +0 -0
  354. /data/lib/{openapi_client → lob}/models/check_deletion.rb +0 -0
  355. /data/lib/{openapi_client → lob}/models/check_editable.rb +0 -0
  356. /data/lib/{openapi_client → lob}/models/check_list.rb +0 -0
  357. /data/lib/{openapi_client → lob}/models/chk_use_type.rb +0 -0
  358. /data/lib/{openapi_client → lob}/models/cmp_schedule_type.rb +0 -0
  359. /data/lib/{openapi_client → lob}/models/cmp_use_type.rb +0 -0
  360. /data/lib/{openapi_client → lob}/models/country_extended.rb +0 -0
  361. /data/lib/{openapi_client → lob}/models/country_extended_expanded.rb +0 -0
  362. /data/lib/{openapi_client → lob}/models/creative_patch.rb +0 -0
  363. /data/lib/{openapi_client → lob}/models/creative_response.rb +0 -0
  364. /data/lib/{openapi_client → lob}/models/creative_writable.rb +0 -0
  365. /data/lib/{openapi_client → lob}/models/custom_envelope_returned.rb +0 -0
  366. /data/lib/{openapi_client → lob}/models/deliverability_analysis.rb +0 -0
  367. /data/lib/{openapi_client → lob}/models/dpv_footnote.rb +0 -0
  368. /data/lib/{openapi_client → lob}/models/engine_html.rb +0 -0
  369. /data/lib/{openapi_client → lob}/models/event_type.rb +0 -0
  370. /data/lib/{openapi_client → lob}/models/events.rb +0 -0
  371. /data/lib/{openapi_client → lob}/models/export.rb +0 -0
  372. /data/lib/{openapi_client → lob}/models/export_model.rb +0 -0
  373. /data/lib/{openapi_client → lob}/models/geocode_addresses.rb +0 -0
  374. /data/lib/{openapi_client → lob}/models/geocode_components.rb +0 -0
  375. /data/lib/{openapi_client → lob}/models/http_validation_error.rb +0 -0
  376. /data/lib/{openapi_client → lob}/models/identity_validation.rb +0 -0
  377. /data/lib/{openapi_client → lob}/models/inline_object.rb +0 -0
  378. /data/lib/{openapi_client → lob}/models/intl_autocompletions.rb +0 -0
  379. /data/lib/{openapi_client → lob}/models/intl_autocompletions_writable.rb +0 -0
  380. /data/lib/{openapi_client → lob}/models/intl_suggestions.rb +0 -0
  381. /data/lib/{openapi_client → lob}/models/intl_verification.rb +0 -0
  382. /data/lib/{openapi_client → lob}/models/intl_verification_or_error.rb +0 -0
  383. /data/lib/{openapi_client → lob}/models/intl_verification_writable.rb +0 -0
  384. /data/lib/{openapi_client → lob}/models/intl_verifications.rb +0 -0
  385. /data/lib/{openapi_client → lob}/models/intl_verifications_payload.rb +0 -0
  386. /data/lib/{openapi_client → lob}/models/letter_custom_envelope.rb +0 -0
  387. /data/lib/{openapi_client → lob}/models/letter_deletion.rb +0 -0
  388. /data/lib/{openapi_client → lob}/models/letter_details_returned.rb +0 -0
  389. /data/lib/{openapi_client → lob}/models/letter_details_writable.rb +0 -0
  390. /data/lib/{openapi_client → lob}/models/letter_editable.rb +0 -0
  391. /data/lib/{openapi_client → lob}/models/letter_list.rb +0 -0
  392. /data/lib/{openapi_client → lob}/models/lob_confidence_score.rb +0 -0
  393. /data/lib/{openapi_client → lob}/models/lob_error.rb +0 -0
  394. /data/lib/{openapi_client → lob}/models/location.rb +0 -0
  395. /data/lib/{openapi_client → lob}/models/location_analysis.rb +0 -0
  396. /data/lib/{openapi_client → lob}/models/ltr_use_type.rb +0 -0
  397. /data/lib/{openapi_client → lob}/models/mail_type.rb +0 -0
  398. /data/lib/{openapi_client → lob}/models/multi_line_address.rb +0 -0
  399. /data/lib/{openapi_client → lob}/models/multiple_components_intl.rb +0 -0
  400. /data/lib/{openapi_client → lob}/models/multiple_components_list.rb +0 -0
  401. /data/lib/{openapi_client → lob}/models/optional_address_column_mapping.rb +0 -0
  402. /data/lib/{openapi_client → lob}/models/placeholder_model.rb +0 -0
  403. /data/lib/{openapi_client → lob}/models/postcard_deletion.rb +0 -0
  404. /data/lib/{openapi_client → lob}/models/postcard_details_returned.rb +0 -0
  405. /data/lib/{openapi_client → lob}/models/postcard_details_writable.rb +0 -0
  406. /data/lib/{openapi_client → lob}/models/postcard_editable.rb +0 -0
  407. /data/lib/{openapi_client → lob}/models/postcard_list.rb +0 -0
  408. /data/lib/{openapi_client → lob}/models/postcard_size.rb +0 -0
  409. /data/lib/{openapi_client → lob}/models/psc_use_type.rb +0 -0
  410. /data/lib/{openapi_client → lob}/models/qr_code.rb +0 -0
  411. /data/lib/{openapi_client → lob}/models/required_address_column_mapping.rb +0 -0
  412. /data/lib/{openapi_client → lob}/models/return_envelope.rb +0 -0
  413. /data/lib/{openapi_client → lob}/models/reverse_geocode.rb +0 -0
  414. /data/lib/{openapi_client → lob}/models/self_mailer_deletion.rb +0 -0
  415. /data/lib/{openapi_client → lob}/models/self_mailer_editable.rb +0 -0
  416. /data/lib/{openapi_client → lob}/models/self_mailer_list.rb +0 -0
  417. /data/lib/{openapi_client → lob}/models/sfm_use_type.rb +0 -0
  418. /data/lib/{openapi_client → lob}/models/sort_by.rb +0 -0
  419. /data/lib/{openapi_client → lob}/models/sort_by1.rb +0 -0
  420. /data/lib/{openapi_client → lob}/models/sort_by2.rb +0 -0
  421. /data/lib/{openapi_client → lob}/models/sort_by3.rb +0 -0
  422. /data/lib/{openapi_client → lob}/models/sort_by_date_modified.rb +0 -0
  423. /data/lib/{openapi_client → lob}/models/suggestions.rb +0 -0
  424. /data/lib/{openapi_client → lob}/models/template.rb +0 -0
  425. /data/lib/{openapi_client → lob}/models/template_deletion.rb +0 -0
  426. /data/lib/{openapi_client → lob}/models/template_list.rb +0 -0
  427. /data/lib/{openapi_client → lob}/models/template_update.rb +0 -0
  428. /data/lib/{openapi_client → lob}/models/template_version.rb +0 -0
  429. /data/lib/{openapi_client → lob}/models/template_version_deletion.rb +0 -0
  430. /data/lib/{openapi_client → lob}/models/template_version_list.rb +0 -0
  431. /data/lib/{openapi_client → lob}/models/template_version_updatable.rb +0 -0
  432. /data/lib/{openapi_client → lob}/models/template_version_writable.rb +0 -0
  433. /data/lib/{openapi_client → lob}/models/template_writable.rb +0 -0
  434. /data/lib/{openapi_client → lob}/models/tracking_event_certified.rb +0 -0
  435. /data/lib/{openapi_client → lob}/models/tracking_event_details.rb +0 -0
  436. /data/lib/{openapi_client → lob}/models/tracking_event_normal.rb +0 -0
  437. /data/lib/{openapi_client → lob}/models/upload_create_export.rb +0 -0
  438. /data/lib/{openapi_client → lob}/models/upload_file.rb +0 -0
  439. /data/lib/{openapi_client → lob}/models/upload_state.rb +0 -0
  440. /data/lib/{openapi_client → lob}/models/upload_updatable.rb +0 -0
  441. /data/lib/{openapi_client → lob}/models/upload_writable.rb +0 -0
  442. /data/lib/{openapi_client → lob}/models/uploads_metadata.rb +0 -0
  443. /data/lib/{openapi_client → lob}/models/us_autocompletions.rb +0 -0
  444. /data/lib/{openapi_client → lob}/models/us_autocompletions_writable.rb +0 -0
  445. /data/lib/{openapi_client → lob}/models/us_components.rb +0 -0
  446. /data/lib/{openapi_client → lob}/models/validation_error.rb +0 -0
  447. /data/lib/{openapi_client → lob}/models/zip.rb +0 -0
  448. /data/lib/{openapi_client → lob}/models/zip_code_type.rb +0 -0
  449. /data/lib/{openapi_client → lob}/models/zip_editable.rb +0 -0
  450. /data/lib/{openapi_client → lob}/models/zip_lookup_city.rb +0 -0
@@ -0,0 +1,616 @@
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 Address
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 follow the ZIP format of `12345` or ZIP+4 format of `12345-1234`.
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
+ # 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.
65
+ attr_accessor :recipient_moved
66
+
67
+ class EnumAttributeValidator
68
+ attr_reader :datatype
69
+ attr_reader :allowable_values
70
+
71
+ def initialize(datatype, allowable_values)
72
+ @allowable_values = allowable_values.map do |value|
73
+ case datatype.to_s
74
+ when /Integer/i
75
+ value.to_i
76
+ when /Float/i
77
+ value.to_f
78
+ else
79
+ value
80
+ end
81
+ end
82
+ end
83
+
84
+ def valid?(value)
85
+ !value || allowable_values.include?(value)
86
+ end
87
+ end
88
+
89
+ # Attribute mapping from ruby-style variable name to JSON key.
90
+ def self.attribute_map
91
+ {
92
+ :'id' => :'id',
93
+ :'description' => :'description',
94
+ :'name' => :'name',
95
+ :'company' => :'company',
96
+ :'phone' => :'phone',
97
+ :'email' => :'email',
98
+ :'metadata' => :'metadata',
99
+ :'address_line1' => :'address_line1',
100
+ :'address_line2' => :'address_line2',
101
+ :'address_city' => :'address_city',
102
+ :'address_state' => :'address_state',
103
+ :'address_zip' => :'address_zip',
104
+ :'address_country' => :'address_country',
105
+ :'object' => :'object',
106
+ :'date_created' => :'date_created',
107
+ :'date_modified' => :'date_modified',
108
+ :'deleted' => :'deleted',
109
+ :'recipient_moved' => :'recipient_moved'
110
+ }
111
+ end
112
+
113
+ # Returns all the JSON keys this model knows about
114
+ def self.acceptable_attributes
115
+ attribute_map.values
116
+ end
117
+
118
+ # Attribute type mapping.
119
+ def self.openapi_types
120
+ {
121
+ :'id' => :'String',
122
+ :'description' => :'String',
123
+ :'name' => :'String',
124
+ :'company' => :'String',
125
+ :'phone' => :'String',
126
+ :'email' => :'String',
127
+ :'metadata' => :'Hash<String, String>',
128
+ :'address_line1' => :'String',
129
+ :'address_line2' => :'String',
130
+ :'address_city' => :'String',
131
+ :'address_state' => :'String',
132
+ :'address_zip' => :'String',
133
+ :'address_country' => :'CountryExtendedExpanded',
134
+ :'object' => :'String',
135
+ :'date_created' => :'Time',
136
+ :'date_modified' => :'Time',
137
+ :'deleted' => :'Boolean',
138
+ :'recipient_moved' => :'Boolean'
139
+ }
140
+ end
141
+
142
+ # List of attributes with nullable: true
143
+ def self.openapi_nullable
144
+ Set.new([
145
+ :'description',
146
+ :'name',
147
+ :'company',
148
+ :'phone',
149
+ :'email',
150
+ :'address_line2',
151
+ :'recipient_moved'
152
+ ])
153
+ end
154
+
155
+ # Initializes the object
156
+ # @param [Hash] attributes Model attributes in the form of hash
157
+ def initialize(attributes = {})
158
+ if (!attributes.is_a?(Hash))
159
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lob::Address` initialize method"
160
+ end
161
+
162
+ # check to see if the attribute exists and convert string to symbol for hash key
163
+ attributes = attributes.each_with_object({}) { |(k, v), h|
164
+ if (!self.class.attribute_map.key?(k.to_sym))
165
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lob::Address`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
166
+ end
167
+ h[k.to_sym] = v
168
+ }
169
+
170
+ if attributes.key?(:'id')
171
+ self.id = attributes[:'id']
172
+ end
173
+
174
+ if attributes.key?(:'description')
175
+ self.description = attributes[:'description']
176
+ end
177
+
178
+ if attributes.key?(:'name')
179
+ self.name = attributes[:'name']
180
+ end
181
+
182
+ if attributes.key?(:'company')
183
+ self.company = attributes[:'company']
184
+ end
185
+
186
+ if attributes.key?(:'phone')
187
+ self.phone = attributes[:'phone']
188
+ end
189
+
190
+ if attributes.key?(:'email')
191
+ self.email = attributes[:'email']
192
+ end
193
+
194
+ if attributes.key?(:'metadata')
195
+ if (value = attributes[:'metadata']).is_a?(Hash)
196
+ self.metadata = value
197
+ end
198
+ end
199
+
200
+ if attributes.key?(:'address_line1')
201
+ self.address_line1 = attributes[:'address_line1']
202
+ end
203
+
204
+ if attributes.key?(:'address_line2')
205
+ self.address_line2 = attributes[:'address_line2']
206
+ end
207
+
208
+ if attributes.key?(:'address_city')
209
+ self.address_city = attributes[:'address_city']
210
+ end
211
+
212
+ if attributes.key?(:'address_state')
213
+ self.address_state = attributes[:'address_state']
214
+ end
215
+
216
+ if attributes.key?(:'address_zip')
217
+ self.address_zip = attributes[:'address_zip']
218
+ end
219
+
220
+ if attributes.key?(:'address_country')
221
+ self.address_country = attributes[:'address_country']
222
+ end
223
+
224
+ if attributes.key?(:'object')
225
+ self.object = attributes[:'object']
226
+ else
227
+ self.object = 'address'
228
+ end
229
+
230
+ if attributes.key?(:'date_created')
231
+ self.date_created = attributes[:'date_created']
232
+ end
233
+
234
+ if attributes.key?(:'date_modified')
235
+ self.date_modified = attributes[:'date_modified']
236
+ end
237
+
238
+ if attributes.key?(:'deleted')
239
+ self.deleted = attributes[:'deleted']
240
+ end
241
+
242
+ if attributes.key?(:'recipient_moved')
243
+ self.recipient_moved = attributes[:'recipient_moved']
244
+ end
245
+ end
246
+
247
+ # Show invalid properties with the reasons. Usually used together with valid?
248
+ # @return Array for valid properties with the reasons
249
+ def list_invalid_properties
250
+ invalid_properties = Array.new
251
+ pattern = Regexp.new(/^adr_[a-zA-Z0-9]+$/)
252
+ if !@id.nil? && @id !~ pattern
253
+ invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.")
254
+ end
255
+
256
+ if !@description.nil? && @description.to_s.length > 255
257
+ invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 255.')
258
+ end
259
+
260
+ if !@name.nil? && @name.to_s.length > 40
261
+ invalid_properties.push('invalid value for "name", the character length must be smaller than or equal to 40.')
262
+ end
263
+
264
+ if !@company.nil? && @company.to_s.length > 40
265
+ invalid_properties.push('invalid value for "company", the character length must be smaller than or equal to 40.')
266
+ end
267
+
268
+ if !@phone.nil? && @phone.to_s.length > 40
269
+ invalid_properties.push('invalid value for "phone", the character length must be smaller than or equal to 40.')
270
+ end
271
+
272
+ if !@email.nil? && @email.to_s.length > 100
273
+ invalid_properties.push('invalid value for "email", the character length must be smaller than or equal to 100.')
274
+ end
275
+
276
+ if !@address_line1.nil? && @address_line1.to_s.length > 64
277
+ invalid_properties.push('invalid value for "address_line1", the character length must be smaller than or equal to 64.')
278
+ end
279
+
280
+ if !@address_line2.nil? && @address_line2.to_s.length > 64
281
+ invalid_properties.push('invalid value for "address_line2", the character length must be smaller than or equal to 64.')
282
+ end
283
+
284
+ if !@address_city.nil? && @address_city.to_s.length > 200
285
+ invalid_properties.push('invalid value for "address_city", the character length must be smaller than or equal to 200.')
286
+ end
287
+
288
+ pattern = Regexp.new(/^[a-zA-Z]{2}$/)
289
+ if !@address_state.nil? && @address_state !~ pattern
290
+ invalid_properties.push("invalid value for \"address_state\", must conform to the pattern #{pattern}.")
291
+ end
292
+
293
+ pattern = Regexp.new(/^\d{5}(-\d{4})?$/)
294
+ if !@address_zip.nil? && @address_zip !~ pattern
295
+ invalid_properties.push("invalid value for \"address_zip\", must conform to the pattern #{pattern}.")
296
+ end
297
+
298
+ invalid_properties
299
+ end
300
+
301
+ # Check to see if the all the properties in the model are valid
302
+ # @return true if the model is valid
303
+ def valid?
304
+ return false if !@id.nil? && @id !~ Regexp.new(/^adr_[a-zA-Z0-9]+$/)
305
+ return false if !@description.nil? && @description.to_s.length > 255
306
+ return false if !@name.nil? && @name.to_s.length > 40
307
+ return false if !@company.nil? && @company.to_s.length > 40
308
+ return false if !@phone.nil? && @phone.to_s.length > 40
309
+ return false if !@email.nil? && @email.to_s.length > 100
310
+ return false if !@address_line1.nil? && @address_line1.to_s.length > 64
311
+ return false if !@address_line2.nil? && @address_line2.to_s.length > 64
312
+ return false if !@address_city.nil? && @address_city.to_s.length > 200
313
+ return false if !@address_state.nil? && @address_state !~ Regexp.new(/^[a-zA-Z]{2}$/)
314
+ return false if !@address_zip.nil? && @address_zip !~ Regexp.new(/^\d{5}(-\d{4})?$/)
315
+ object_validator = EnumAttributeValidator.new('String', ["address"])
316
+ return false unless object_validator.valid?(@object)
317
+ true
318
+ end
319
+
320
+ # Custom attribute writer method with validation
321
+ # @param [Object] id Value to be assigned
322
+ def id=(id)
323
+ pattern = Regexp.new(/^adr_[a-zA-Z0-9]+$/)
324
+ if !id.nil? && id !~ pattern
325
+ fail ArgumentError, "invalid value for \"id\", must conform to the pattern #{pattern}."
326
+ end
327
+
328
+ @id = id
329
+ end
330
+
331
+ # Custom attribute writer method with validation
332
+ # @param [Object] description Value to be assigned
333
+ def description=(description)
334
+ if !description.nil? && description.to_s.length > 255
335
+ fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 255.'
336
+ end
337
+
338
+ @description = description
339
+ end
340
+
341
+ # Custom attribute writer method with validation
342
+ # @param [Object] name Value to be assigned
343
+ def name=(name)
344
+ if !name.nil? && name.to_s.length > 40
345
+ fail ArgumentError, 'invalid value for "name", the character length must be smaller than or equal to 40.'
346
+ end
347
+
348
+ @name = name
349
+ end
350
+
351
+ # Custom attribute writer method with validation
352
+ # @param [Object] company Value to be assigned
353
+ def company=(company)
354
+ if !company.nil? && company.to_s.length > 40
355
+ fail ArgumentError, 'invalid value for "company", the character length must be smaller than or equal to 40.'
356
+ end
357
+
358
+ @company = company
359
+ end
360
+
361
+ # Custom attribute writer method with validation
362
+ # @param [Object] phone Value to be assigned
363
+ def phone=(phone)
364
+ if !phone.nil? && phone.to_s.length > 40
365
+ fail ArgumentError, 'invalid value for "phone", the character length must be smaller than or equal to 40.'
366
+ end
367
+
368
+ @phone = phone
369
+ end
370
+
371
+ # Custom attribute writer method with validation
372
+ # @param [Object] email Value to be assigned
373
+ def email=(email)
374
+ if !email.nil? && email.to_s.length > 100
375
+ fail ArgumentError, 'invalid value for "email", the character length must be smaller than or equal to 100.'
376
+ end
377
+
378
+ @email = email
379
+ end
380
+
381
+ # Custom attribute writer method with validation
382
+ # @param [Object] metadata Value to be assigned
383
+ def metadata=(metadata)
384
+ @metadata = metadata
385
+ end
386
+
387
+ # Custom attribute writer method with validation
388
+ # @param [Object] address_line1 Value to be assigned
389
+ def address_line1=(address_line1)
390
+ if !address_line1.nil? && address_line1.to_s.length > 64
391
+ fail ArgumentError, 'invalid value for "address_line1", the character length must be smaller than or equal to 64.'
392
+ end
393
+
394
+ @address_line1 = address_line1
395
+ end
396
+
397
+ # Custom attribute writer method with validation
398
+ # @param [Object] address_line2 Value to be assigned
399
+ def address_line2=(address_line2)
400
+ if !address_line2.nil? && address_line2.to_s.length > 64
401
+ fail ArgumentError, 'invalid value for "address_line2", the character length must be smaller than or equal to 64.'
402
+ end
403
+
404
+ @address_line2 = address_line2
405
+ end
406
+
407
+ # Custom attribute writer method with validation
408
+ # @param [Object] address_city Value to be assigned
409
+ def address_city=(address_city)
410
+ if !address_city.nil? && address_city.to_s.length > 200
411
+ fail ArgumentError, 'invalid value for "address_city", the character length must be smaller than or equal to 200.'
412
+ end
413
+
414
+ @address_city = address_city
415
+ end
416
+
417
+ # Custom attribute writer method with validation
418
+ # @param [Object] address_state Value to be assigned
419
+ def address_state=(address_state)
420
+ pattern = Regexp.new(/^[a-zA-Z]{2}$/)
421
+ if !address_state.nil? && address_state !~ pattern
422
+ fail ArgumentError, "invalid value for \"address_state\", must conform to the pattern #{pattern}."
423
+ end
424
+
425
+ @address_state = address_state
426
+ end
427
+
428
+ # Custom attribute writer method with validation
429
+ # @param [Object] address_zip Value to be assigned
430
+ def address_zip=(address_zip)
431
+ pattern = Regexp.new(/^\d{5}(-\d{4})?$/)
432
+ if !address_zip.nil? && address_zip !~ pattern
433
+ fail ArgumentError, "invalid value for \"address_zip\", must conform to the pattern #{pattern}."
434
+ end
435
+
436
+ @address_zip = address_zip
437
+ end
438
+
439
+ # Custom attribute writer method checking allowed values (enum).
440
+ # @param [Object] object Object to be assigned
441
+ def object=(object)
442
+ validator = EnumAttributeValidator.new('String', ["address"])
443
+ unless validator.valid?(object)
444
+ fail ArgumentError, "invalid value for \"object\", must be one of #{validator.allowable_values}."
445
+ end
446
+ @object = object
447
+ end
448
+
449
+ # Checks equality by comparing each attribute.
450
+ # @param [Object] Object to be compared
451
+ def ==(o)
452
+ return true if self.equal?(o)
453
+ self.class == o.class &&
454
+ id == o.id &&
455
+ description == o.description &&
456
+ name == o.name &&
457
+ company == o.company &&
458
+ phone == o.phone &&
459
+ email == o.email &&
460
+ metadata == o.metadata &&
461
+ address_line1 == o.address_line1 &&
462
+ address_line2 == o.address_line2 &&
463
+ address_city == o.address_city &&
464
+ address_state == o.address_state &&
465
+ address_zip == o.address_zip &&
466
+ address_country == o.address_country &&
467
+ object == o.object &&
468
+ date_created == o.date_created &&
469
+ date_modified == o.date_modified &&
470
+ deleted == o.deleted &&
471
+ recipient_moved == o.recipient_moved
472
+ end
473
+
474
+ # @see the `==` method
475
+ # @param [Object] Object to be compared
476
+ def eql?(o)
477
+ self == o
478
+ end
479
+
480
+ # Calculates hash code according to all attributes.
481
+ # @return [Integer] Hash code
482
+ def hash
483
+ [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, recipient_moved].hash
484
+ end
485
+
486
+
487
+ # Builds the object from hash
488
+ # @param [Hash] attributes Model attributes in the form of hash
489
+ # @return [Object] Returns the model itself
490
+ def self.build_from_hash(attributes)
491
+ new.build_from_hash(attributes)
492
+ end
493
+
494
+ # Builds the object from hash
495
+ # @param [Hash] attributes Model attributes in the form of hash
496
+ # @return [Object] Returns the model itself
497
+ def build_from_hash(attributes)
498
+ return nil unless attributes.is_a?(Hash)
499
+ attributes = attributes.transform_keys(&:to_sym)
500
+ self.class.openapi_types.each_pair do |key, type|
501
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
502
+ self.send("#{key}=", nil) # // guardrails-disable-line
503
+ elsif type =~ /\AArray<(.*)>/i
504
+ # check to ensure the input is an array given that the attribute
505
+ # is documented as an array but the input is not
506
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
507
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) # // guardrails-disable-line
508
+ end
509
+ elsif !attributes[self.class.attribute_map[key]].nil? && type.kind_of?(Array)
510
+ for base_type in type do
511
+ res = _deserialize(base_type, attributes[self.class.attribute_map[key]])
512
+ if !res.nil?
513
+ self.send("#{key}=", res) # // guardrails-disable-line
514
+ break
515
+ end
516
+ end
517
+ elsif !attributes[self.class.attribute_map[key]].nil?
518
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) # // guardrails-disable-line
519
+ end
520
+ end
521
+
522
+ self
523
+ end
524
+
525
+ # Deserializes the data based on type
526
+ # @param string type Data type
527
+ # @param string value Value to be deserialized
528
+ # @return [Object] Deserialized data
529
+ def _deserialize(type, value)
530
+ case type.to_sym
531
+ when :Time
532
+ Time.parse(value)
533
+ when :Date
534
+ Date.parse(value)
535
+ when :String
536
+ value.to_s
537
+ when :Integer
538
+ value.to_i
539
+ when :Float
540
+ value.to_f
541
+ when :Boolean
542
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
543
+ true
544
+ else
545
+ false
546
+ end
547
+ when :Object
548
+ # generic object (usually a Hash), return directly
549
+ value
550
+ when /\AArray<(?<inner_type>.+)>\z/
551
+ inner_type = Regexp.last_match[:inner_type]
552
+ value.map { |v| _deserialize(inner_type, v) }
553
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
554
+ k_type = Regexp.last_match[:k_type]
555
+ v_type = Regexp.last_match[:v_type]
556
+ {}.tap do |hash|
557
+ value.each do |k, v|
558
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
559
+ end
560
+ end
561
+ else # model
562
+ # models (e.g. Pet) or oneOf
563
+ klass = Lob.const_get(type)
564
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
565
+ end
566
+ end
567
+
568
+ # Returns the string representation of the object
569
+ # @return [String] String presentation of the object
570
+ def to_s
571
+ to_hash.to_s
572
+ end
573
+
574
+ # to_body is an alias to to_hash (backward compatibility)
575
+ # @return [Hash] Returns the object in the form of hash
576
+ def to_body
577
+ to_hash
578
+ end
579
+
580
+ # Returns the object in the form of hash
581
+ # @return [Hash] Returns the object in the form of hash
582
+ def to_hash
583
+ hash = {}
584
+ self.class.attribute_map.each_pair do |attr, param|
585
+ value = self.send(attr) # // guardrails-disable-line
586
+ if value.nil?
587
+ is_nullable = self.class.openapi_nullable.include?(attr)
588
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
589
+ end
590
+
591
+ hash[param] = _to_hash(value)
592
+ end
593
+ hash
594
+ end
595
+
596
+ # Outputs non-array value in the form of hash
597
+ # For object, use to_hash. Otherwise, just return the value
598
+ # @param [Object] value Any valid value
599
+ # @return [Hash] Returns the value in the form of hash
600
+ def _to_hash(value)
601
+ if value.is_a?(Array)
602
+ value.compact.map { |v| _to_hash(v) }
603
+ elsif value.is_a?(Hash)
604
+ {}.tap do |hash|
605
+ value.each { |k, v| hash[k] = _to_hash(v) }
606
+ end
607
+ elsif value.respond_to? :to_hash
608
+ value.to_hash
609
+ else
610
+ value
611
+ end
612
+ end
613
+
614
+ end
615
+
616
+ end
@@ -257,7 +257,7 @@ module Lob
257
257
  invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.")
258
258
  end
259
259
 
260
- 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-_]+/)
260
+ 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_-]+/)
261
261
  if !@signature_url.nil? && @signature_url !~ pattern
262
262
  invalid_properties.push("invalid value for \"signature_url\", must conform to the pattern #{pattern}.")
263
263
  end
@@ -293,7 +293,7 @@ module Lob
293
293
  return false if @signatory.to_s.length > 30
294
294
  return false if @id.nil?
295
295
  return false if @id !~ Regexp.new(/^bank_[a-zA-Z0-9]+$/)
296
- return false if !@signature_url.nil? && @signature_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-_]+/)
296
+ return false if !@signature_url.nil? && @signature_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_-]+/)
297
297
  return false if @date_created.nil?
298
298
  return false if @date_modified.nil?
299
299
  return false if @object.nil?
@@ -392,7 +392,7 @@ module Lob
392
392
  # Custom attribute writer method with validation
393
393
  # @param [Object] signature_url Value to be assigned
394
394
  def signature_url=(signature_url)
395
- 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-_]+/)
395
+ 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_-]+/)
396
396
  if !signature_url.nil? && signature_url !~ pattern
397
397
  fail ArgumentError, "invalid value for \"signature_url\", must conform to the pattern #{pattern}."
398
398
  end
@@ -402,7 +402,7 @@ module Lob
402
402
  invalid_properties.push('invalid value for "url", url cannot be nil.')
403
403
  end
404
404
 
405
- 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_-]+$/)
405
+ 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_-]+/)
406
406
  if @url !~ pattern
407
407
  invalid_properties.push("invalid value for \"url\", must conform to the pattern #{pattern}.")
408
408
  end
@@ -447,7 +447,7 @@ module Lob
447
447
  return false if !@check_bottom_template_version_id.nil? && @check_bottom_template_version_id !~ Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
448
448
  return false if !@attachment_template_version_id.nil? && @attachment_template_version_id !~ Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
449
449
  return false if @url.nil?
450
- return false if @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_-]+$/)
450
+ return false if @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_-]+/)
451
451
  return false if @carrier.nil?
452
452
  carrier_validator = EnumAttributeValidator.new('String', ["USPS"])
453
453
  return false unless carrier_validator.valid?(@carrier)
@@ -605,7 +605,7 @@ module Lob
605
605
  fail ArgumentError, 'url cannot be nil'
606
606
  end
607
607
 
608
- 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_-]+$/)
608
+ 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_-]+/)
609
609
  if url !~ pattern
610
610
  fail ArgumentError, "invalid value for \"url\", must conform to the pattern #{pattern}."
611
611
  end
File without changes