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,584 @@
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 SnapPack
18
+ # Unique identifier prefixed with `ord_`.
19
+ attr_accessor :id
20
+
21
+ attr_accessor :to
22
+
23
+ attr_accessor :from
24
+
25
+ attr_accessor :size
26
+
27
+ # An internal description that identifies this resource. Must be no longer than 255 characters.
28
+ attr_accessor :description
29
+
30
+ # 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.
31
+ attr_accessor :metadata
32
+
33
+ attr_accessor :mail_type
34
+
35
+ # You can input a merge variable payload object to your template to render dynamic content. For example, if you have a template like: `{{variable_name}}`, pass in `{\"variable_name\": \"Harry\"}` to render `Harry`. `merge_variables` must be an object. Any type of value is accepted as long as the object is valid JSON; you can use `strings`, `numbers`, `booleans`, `arrays`, `objects`, or `null`. The max length of the object is 25,000 characters. If you call `JSON.stringify` on your object, it can be no longer than 25,000 characters. Your variable names cannot contain any whitespace or any of the following special characters: `!`, `\"`, `#`, `%`, `&`, `'`, `(`, `)`, `*`, `+`, `,`, `/`, `;`, `<`, `=`, `>`, `@`, `[`, `\\`, `]`, `^`, `` ` ``, `{`, `|`, `}`, `~`. More instructions can be found in [our guide to using html and merge variables](https://lob.com/resources/guides/general/using-html-and-merge-variables). Depending on your [Merge Variable strictness](https://dashboard.lob.com/#/settings/account) setting, if you define variables in your HTML but do not pass them here, you will either receive an error or the variable will render as an empty string.
36
+ attr_accessor :merge_variables
37
+
38
+ # A timestamp in ISO 8601 format which specifies a date after the current time and up to 180 days in the future to send the letter off for production. Setting a send date overrides the default [cancellation window](#section/Cancellation-Windows) applied to the mailpiece. Until the `send_date` has passed, the mailpiece can be canceled. If a date in the format `2017-11-01` is passed, it will evaluate to midnight UTC of that date (`2017-11-01T00:00:00.000Z`). If a datetime is passed, that exact time will be used. A `send_date` passed with no time zone will default to UTC, while a `send_date` passed with a time zone will be converted to UTC.
39
+ attr_accessor :send_date
40
+
41
+ # The unique ID of the HTML template used for the outside of the snap pack.
42
+ attr_accessor :outside_template_id
43
+
44
+ # The unique ID of the HTML template used for the inside of the snap pack.
45
+ attr_accessor :inside_template_id
46
+
47
+ # The unique ID of the specific version of the HTML template used for the outside of the snap pack.
48
+ attr_accessor :outside_template_version_id
49
+
50
+ # The unique ID of the specific version of the HTML template used for the inside of the snap pack.
51
+ attr_accessor :inside_template_version_id
52
+
53
+ # Value is resource type.
54
+ attr_accessor :object
55
+
56
+ # An array of tracking events ordered by ascending `time`. Not populated in test mode.
57
+ attr_accessor :tracking_events
58
+
59
+ # A [signed link](#section/Asset-URLs) served over HTTPS. The link returned will expire in 30 days to prevent mis-sharing. Each time a GET request is initiated, a new signed URL will be generated.
60
+ attr_accessor :url
61
+
62
+ attr_accessor :use_type
63
+
64
+ class EnumAttributeValidator
65
+ attr_reader :datatype
66
+ attr_reader :allowable_values
67
+
68
+ def initialize(datatype, allowable_values)
69
+ @allowable_values = allowable_values.map do |value|
70
+ case datatype.to_s
71
+ when /Integer/i
72
+ value.to_i
73
+ when /Float/i
74
+ value.to_f
75
+ else
76
+ value
77
+ end
78
+ end
79
+ end
80
+
81
+ def valid?(value)
82
+ !value || allowable_values.include?(value)
83
+ end
84
+ end
85
+
86
+ # Attribute mapping from ruby-style variable name to JSON key.
87
+ def self.attribute_map
88
+ {
89
+ :'id' => :'id',
90
+ :'to' => :'to',
91
+ :'from' => :'from',
92
+ :'size' => :'size',
93
+ :'description' => :'description',
94
+ :'metadata' => :'metadata',
95
+ :'mail_type' => :'mail_type',
96
+ :'merge_variables' => :'merge_variables',
97
+ :'send_date' => :'send_date',
98
+ :'outside_template_id' => :'outside_template_id',
99
+ :'inside_template_id' => :'inside_template_id',
100
+ :'outside_template_version_id' => :'outside_template_version_id',
101
+ :'inside_template_version_id' => :'inside_template_version_id',
102
+ :'object' => :'object',
103
+ :'tracking_events' => :'tracking_events',
104
+ :'url' => :'url',
105
+ :'use_type' => :'use_type'
106
+ }
107
+ end
108
+
109
+ # Returns all the JSON keys this model knows about
110
+ def self.acceptable_attributes
111
+ attribute_map.values
112
+ end
113
+
114
+ # Attribute type mapping.
115
+ def self.openapi_types
116
+ {
117
+ :'id' => :'String',
118
+ :'to' => Array[:'Address', :'String'],
119
+ :'from' => Array[:'AddressDomesticExpanded', :'String'],
120
+ :'size' => :'SnapPackSize',
121
+ :'description' => :'String',
122
+ :'metadata' => :'Hash<String, String>',
123
+ :'mail_type' => :'MailType',
124
+ :'merge_variables' => :'Object',
125
+ :'send_date' => :'Time',
126
+ :'outside_template_id' => :'String',
127
+ :'inside_template_id' => :'String',
128
+ :'outside_template_version_id' => :'String',
129
+ :'inside_template_version_id' => :'String',
130
+ :'object' => :'String',
131
+ :'tracking_events' => :'Array<TrackingEventNormal>',
132
+ :'url' => :'String',
133
+ :'use_type' => :'SnpUseType'
134
+ }
135
+ end
136
+
137
+ # List of attributes with nullable: true
138
+ def self.openapi_nullable
139
+ Set.new([
140
+ :'to',
141
+ :'from',
142
+ :'description',
143
+ :'merge_variables',
144
+ :'outside_template_id',
145
+ :'inside_template_id',
146
+ :'outside_template_version_id',
147
+ :'inside_template_version_id',
148
+ :'use_type'
149
+ ])
150
+ end
151
+
152
+ # Initializes the object
153
+ # @param [Hash] attributes Model attributes in the form of hash
154
+ def initialize(attributes = {})
155
+ if (!attributes.is_a?(Hash))
156
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lob::SnapPack` initialize method"
157
+ end
158
+
159
+ # check to see if the attribute exists and convert string to symbol for hash key
160
+ attributes = attributes.each_with_object({}) { |(k, v), h|
161
+ if (!self.class.attribute_map.key?(k.to_sym))
162
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lob::SnapPack`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
163
+ end
164
+ h[k.to_sym] = v
165
+ }
166
+
167
+ if attributes.key?(:'id')
168
+ self.id = attributes[:'id']
169
+ end
170
+
171
+ if attributes.key?(:'to')
172
+ self.to = attributes[:'to']
173
+ end
174
+
175
+ if attributes.key?(:'from')
176
+ self.from = attributes[:'from']
177
+ end
178
+
179
+ if attributes.key?(:'size')
180
+ self.size = attributes[:'size']
181
+ else
182
+ self.size = '8.5x11'
183
+ end
184
+
185
+ if attributes.key?(:'description')
186
+ self.description = attributes[:'description']
187
+ end
188
+
189
+ if attributes.key?(:'metadata')
190
+ if (value = attributes[:'metadata']).is_a?(Hash)
191
+ self.metadata = value
192
+ end
193
+ end
194
+
195
+ if attributes.key?(:'mail_type')
196
+ self.mail_type = attributes[:'mail_type']
197
+ else
198
+ self.mail_type = 'usps_first_class'
199
+ end
200
+
201
+ if attributes.key?(:'merge_variables')
202
+ self.merge_variables = attributes[:'merge_variables']
203
+ end
204
+
205
+ if attributes.key?(:'send_date')
206
+ self.send_date = attributes[:'send_date']
207
+ end
208
+
209
+ if attributes.key?(:'outside_template_id')
210
+ self.outside_template_id = attributes[:'outside_template_id']
211
+ end
212
+
213
+ if attributes.key?(:'inside_template_id')
214
+ self.inside_template_id = attributes[:'inside_template_id']
215
+ end
216
+
217
+ if attributes.key?(:'outside_template_version_id')
218
+ self.outside_template_version_id = attributes[:'outside_template_version_id']
219
+ end
220
+
221
+ if attributes.key?(:'inside_template_version_id')
222
+ self.inside_template_version_id = attributes[:'inside_template_version_id']
223
+ end
224
+
225
+ if attributes.key?(:'object')
226
+ self.object = attributes[:'object']
227
+ else
228
+ self.object = 'snap_pack'
229
+ end
230
+
231
+ if attributes.key?(:'tracking_events')
232
+ if (value = attributes[:'tracking_events']).is_a?(Array)
233
+ self.tracking_events = value
234
+ end
235
+ end
236
+
237
+ if attributes.key?(:'url')
238
+ self.url = attributes[:'url']
239
+ end
240
+
241
+ if attributes.key?(:'use_type')
242
+ self.use_type = attributes[:'use_type']
243
+ end
244
+ end
245
+
246
+ # Show invalid properties with the reasons. Usually used together with valid?
247
+ # @return Array for valid properties with the reasons
248
+ def list_invalid_properties
249
+ invalid_properties = Array.new
250
+ if @id.nil?
251
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
252
+ end
253
+
254
+ pattern = Regexp.new(/^ord_[a-zA-Z0-9]+$/)
255
+ if @id !~ pattern
256
+ invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.")
257
+ end
258
+
259
+ if !@description.nil? && @description.to_s.length > 255
260
+ invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 255.')
261
+ end
262
+
263
+ pattern = Regexp.new(/^tmpl_[a-zA-Z0-9]+$/)
264
+ if !@outside_template_id.nil? && @outside_template_id !~ pattern
265
+ invalid_properties.push("invalid value for \"outside_template_id\", must conform to the pattern #{pattern}.")
266
+ end
267
+
268
+ pattern = Regexp.new(/^tmpl_[a-zA-Z0-9]+$/)
269
+ if !@inside_template_id.nil? && @inside_template_id !~ pattern
270
+ invalid_properties.push("invalid value for \"inside_template_id\", must conform to the pattern #{pattern}.")
271
+ end
272
+
273
+ pattern = Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
274
+ if !@outside_template_version_id.nil? && @outside_template_version_id !~ pattern
275
+ invalid_properties.push("invalid value for \"outside_template_version_id\", must conform to the pattern #{pattern}.")
276
+ end
277
+
278
+ pattern = Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
279
+ if !@inside_template_version_id.nil? && @inside_template_version_id !~ pattern
280
+ invalid_properties.push("invalid value for \"inside_template_version_id\", must conform to the pattern #{pattern}.")
281
+ end
282
+
283
+ if @url.nil?
284
+ invalid_properties.push('invalid value for "url", url cannot be nil.')
285
+ end
286
+
287
+ 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_-]+/)
288
+ if @url !~ pattern
289
+ invalid_properties.push("invalid value for \"url\", must conform to the pattern #{pattern}.")
290
+ end
291
+
292
+ invalid_properties
293
+ end
294
+
295
+ # Check to see if the all the properties in the model are valid
296
+ # @return true if the model is valid
297
+ def valid?
298
+ return false if @id.nil?
299
+ return false if @id !~ Regexp.new(/^ord_[a-zA-Z0-9]+$/)
300
+ return false if !@description.nil? && @description.to_s.length > 255
301
+ return false if !@outside_template_id.nil? && @outside_template_id !~ Regexp.new(/^tmpl_[a-zA-Z0-9]+$/)
302
+ return false if !@inside_template_id.nil? && @inside_template_id !~ Regexp.new(/^tmpl_[a-zA-Z0-9]+$/)
303
+ return false if !@outside_template_version_id.nil? && @outside_template_version_id !~ Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
304
+ return false if !@inside_template_version_id.nil? && @inside_template_version_id !~ Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
305
+ object_validator = EnumAttributeValidator.new('String', ["snap_pack"])
306
+ return false unless object_validator.valid?(@object)
307
+ return false if @url.nil?
308
+ 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_-]+/)
309
+ true
310
+ end
311
+
312
+ # Custom attribute writer method with validation
313
+ # @param [Object] id Value to be assigned
314
+ def id=(id)
315
+ if id.nil?
316
+ fail ArgumentError, 'id cannot be nil'
317
+ end
318
+
319
+ pattern = Regexp.new(/^ord_[a-zA-Z0-9]+$/)
320
+ if id !~ pattern
321
+ fail ArgumentError, "invalid value for \"id\", must conform to the pattern #{pattern}."
322
+ end
323
+
324
+ @id = id
325
+ end
326
+
327
+ # Custom attribute writer method with validation
328
+ # @param [Object] description Value to be assigned
329
+ def description=(description)
330
+ if !description.nil? && description.to_s.length > 255
331
+ fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 255.'
332
+ end
333
+
334
+ @description = description
335
+ end
336
+
337
+ # Custom attribute writer method with validation
338
+ # @param [Object] metadata Value to be assigned
339
+ def metadata=(metadata)
340
+ @metadata = metadata
341
+ end
342
+
343
+ # Custom attribute writer method with validation
344
+ # @param [Object] merge_variables Value to be assigned
345
+ def merge_variables=(merge_variables)
346
+ @merge_variables = merge_variables
347
+ end
348
+
349
+ # Custom attribute writer method with validation
350
+ # @param [Object] outside_template_id Value to be assigned
351
+ def outside_template_id=(outside_template_id)
352
+ pattern = Regexp.new(/^tmpl_[a-zA-Z0-9]+$/)
353
+ if !outside_template_id.nil? && outside_template_id !~ pattern
354
+ fail ArgumentError, "invalid value for \"outside_template_id\", must conform to the pattern #{pattern}."
355
+ end
356
+
357
+ @outside_template_id = outside_template_id
358
+ end
359
+
360
+ # Custom attribute writer method with validation
361
+ # @param [Object] inside_template_id Value to be assigned
362
+ def inside_template_id=(inside_template_id)
363
+ pattern = Regexp.new(/^tmpl_[a-zA-Z0-9]+$/)
364
+ if !inside_template_id.nil? && inside_template_id !~ pattern
365
+ fail ArgumentError, "invalid value for \"inside_template_id\", must conform to the pattern #{pattern}."
366
+ end
367
+
368
+ @inside_template_id = inside_template_id
369
+ end
370
+
371
+ # Custom attribute writer method with validation
372
+ # @param [Object] outside_template_version_id Value to be assigned
373
+ def outside_template_version_id=(outside_template_version_id)
374
+ pattern = Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
375
+ if !outside_template_version_id.nil? && outside_template_version_id !~ pattern
376
+ fail ArgumentError, "invalid value for \"outside_template_version_id\", must conform to the pattern #{pattern}."
377
+ end
378
+
379
+ @outside_template_version_id = outside_template_version_id
380
+ end
381
+
382
+ # Custom attribute writer method with validation
383
+ # @param [Object] inside_template_version_id Value to be assigned
384
+ def inside_template_version_id=(inside_template_version_id)
385
+ pattern = Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
386
+ if !inside_template_version_id.nil? && inside_template_version_id !~ pattern
387
+ fail ArgumentError, "invalid value for \"inside_template_version_id\", must conform to the pattern #{pattern}."
388
+ end
389
+
390
+ @inside_template_version_id = inside_template_version_id
391
+ end
392
+
393
+ # Custom attribute writer method checking allowed values (enum).
394
+ # @param [Object] object Object to be assigned
395
+ def object=(object)
396
+ validator = EnumAttributeValidator.new('String', ["snap_pack"])
397
+ unless validator.valid?(object)
398
+ fail ArgumentError, "invalid value for \"object\", must be one of #{validator.allowable_values}."
399
+ end
400
+ @object = object
401
+ end
402
+
403
+ # Custom attribute writer method with validation
404
+ # @param [Object] url Value to be assigned
405
+ def url=(url)
406
+ if url.nil?
407
+ fail ArgumentError, 'url cannot be nil'
408
+ end
409
+
410
+ 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_-]+/)
411
+ if url !~ pattern
412
+ fail ArgumentError, "invalid value for \"url\", must conform to the pattern #{pattern}."
413
+ end
414
+
415
+ @url = url
416
+ end
417
+
418
+ # Checks equality by comparing each attribute.
419
+ # @param [Object] Object to be compared
420
+ def ==(o)
421
+ return true if self.equal?(o)
422
+ self.class == o.class &&
423
+ id == o.id &&
424
+ to == o.to &&
425
+ from == o.from &&
426
+ size == o.size &&
427
+ description == o.description &&
428
+ metadata == o.metadata &&
429
+ mail_type == o.mail_type &&
430
+ merge_variables == o.merge_variables &&
431
+ send_date == o.send_date &&
432
+ outside_template_id == o.outside_template_id &&
433
+ inside_template_id == o.inside_template_id &&
434
+ outside_template_version_id == o.outside_template_version_id &&
435
+ inside_template_version_id == o.inside_template_version_id &&
436
+ object == o.object &&
437
+ tracking_events == o.tracking_events &&
438
+ url == o.url &&
439
+ use_type == o.use_type
440
+ end
441
+
442
+ # @see the `==` method
443
+ # @param [Object] Object to be compared
444
+ def eql?(o)
445
+ self == o
446
+ end
447
+
448
+ # Calculates hash code according to all attributes.
449
+ # @return [Integer] Hash code
450
+ def hash
451
+ [id, to, from, size, description, metadata, mail_type, merge_variables, send_date, outside_template_id, inside_template_id, outside_template_version_id, inside_template_version_id, object, tracking_events, url, use_type].hash
452
+ end
453
+
454
+
455
+ # Builds the object from hash
456
+ # @param [Hash] attributes Model attributes in the form of hash
457
+ # @return [Object] Returns the model itself
458
+ def self.build_from_hash(attributes)
459
+ new.build_from_hash(attributes)
460
+ end
461
+
462
+ # Builds the object from hash
463
+ # @param [Hash] attributes Model attributes in the form of hash
464
+ # @return [Object] Returns the model itself
465
+ def build_from_hash(attributes)
466
+ return nil unless attributes.is_a?(Hash)
467
+ attributes = attributes.transform_keys(&:to_sym)
468
+ self.class.openapi_types.each_pair do |key, type|
469
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
470
+ self.send("#{key}=", nil) # // guardrails-disable-line
471
+ elsif type =~ /\AArray<(.*)>/i
472
+ # check to ensure the input is an array given that the attribute
473
+ # is documented as an array but the input is not
474
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
475
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) # // guardrails-disable-line
476
+ end
477
+ elsif !attributes[self.class.attribute_map[key]].nil? && type.kind_of?(Array)
478
+ for base_type in type do
479
+ res = _deserialize(base_type, attributes[self.class.attribute_map[key]])
480
+ if !res.nil?
481
+ self.send("#{key}=", res) # // guardrails-disable-line
482
+ break
483
+ end
484
+ end
485
+ elsif !attributes[self.class.attribute_map[key]].nil?
486
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) # // guardrails-disable-line
487
+ end
488
+ end
489
+
490
+ self
491
+ end
492
+
493
+ # Deserializes the data based on type
494
+ # @param string type Data type
495
+ # @param string value Value to be deserialized
496
+ # @return [Object] Deserialized data
497
+ def _deserialize(type, value)
498
+ case type.to_sym
499
+ when :Time
500
+ Time.parse(value)
501
+ when :Date
502
+ Date.parse(value)
503
+ when :String
504
+ value.to_s
505
+ when :Integer
506
+ value.to_i
507
+ when :Float
508
+ value.to_f
509
+ when :Boolean
510
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
511
+ true
512
+ else
513
+ false
514
+ end
515
+ when :Object
516
+ # generic object (usually a Hash), return directly
517
+ value
518
+ when /\AArray<(?<inner_type>.+)>\z/
519
+ inner_type = Regexp.last_match[:inner_type]
520
+ value.map { |v| _deserialize(inner_type, v) }
521
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
522
+ k_type = Regexp.last_match[:k_type]
523
+ v_type = Regexp.last_match[:v_type]
524
+ {}.tap do |hash|
525
+ value.each do |k, v|
526
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
527
+ end
528
+ end
529
+ else # model
530
+ # models (e.g. Pet) or oneOf
531
+ klass = Lob.const_get(type)
532
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
533
+ end
534
+ end
535
+
536
+ # Returns the string representation of the object
537
+ # @return [String] String presentation of the object
538
+ def to_s
539
+ to_hash.to_s
540
+ end
541
+
542
+ # to_body is an alias to to_hash (backward compatibility)
543
+ # @return [Hash] Returns the object in the form of hash
544
+ def to_body
545
+ to_hash
546
+ end
547
+
548
+ # Returns the object in the form of hash
549
+ # @return [Hash] Returns the object in the form of hash
550
+ def to_hash
551
+ hash = {}
552
+ self.class.attribute_map.each_pair do |attr, param|
553
+ value = self.send(attr) # // guardrails-disable-line
554
+ if value.nil?
555
+ is_nullable = self.class.openapi_nullable.include?(attr)
556
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
557
+ end
558
+
559
+ hash[param] = _to_hash(value)
560
+ end
561
+ hash
562
+ end
563
+
564
+ # Outputs non-array value in the form of hash
565
+ # For object, use to_hash. Otherwise, just return the value
566
+ # @param [Object] value Any valid value
567
+ # @return [Hash] Returns the value in the form of hash
568
+ def _to_hash(value)
569
+ if value.is_a?(Array)
570
+ value.compact.map { |v| _to_hash(v) }
571
+ elsif value.is_a?(Hash)
572
+ {}.tap do |hash|
573
+ value.each { |k, v| hash[k] = _to_hash(v) }
574
+ end
575
+ elsif value.respond_to? :to_hash
576
+ value.to_hash
577
+ else
578
+ value
579
+ end
580
+ end
581
+
582
+ end
583
+
584
+ end