lob 5.4.6 → 6.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (496) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_SNIPPETS.md +1871 -0
  3. data/Gemfile +6 -1
  4. data/Gemfile.lock +72 -0
  5. data/LICENSE +21 -0
  6. data/MIGRATION.md +174 -0
  7. data/README.md +70 -97
  8. data/Rakefile +7 -5
  9. data/__tests__/Api/Address.unit.rb +210 -0
  10. data/__tests__/Api/BankAccount.unit.rb +244 -0
  11. data/__tests__/Api/BillingGroup.unit.rb +170 -0
  12. data/__tests__/Api/Card.unit.rb +183 -0
  13. data/__tests__/Api/CardOrder.unit.rb +89 -0
  14. data/__tests__/Api/Check.unit.rb +185 -0
  15. data/__tests__/Api/IntlAutocompletion.unit.rb +43 -0
  16. data/__tests__/Api/IntlVerification.unit.rb +71 -0
  17. data/__tests__/Api/Letter.unit.rb +191 -0
  18. data/__tests__/Api/Postcard.unit.rb +189 -0
  19. data/__tests__/Api/Require.unit.rb +21 -0
  20. data/__tests__/Api/ReverseGeocodeLookup.unit.rb +43 -0
  21. data/__tests__/Api/SelfMailer.unit.rb +190 -0
  22. data/__tests__/Api/Template.unit.rb +165 -0
  23. data/__tests__/Api/TemplateVersion.unit.rb +165 -0
  24. data/__tests__/Api/UsAutocompletion.unit.rb +42 -0
  25. data/__tests__/Api/UsVerification.unit.rb +71 -0
  26. data/__tests__/Api/ZipLookup.unit.rb +42 -0
  27. data/__tests__/Integration/Address.spec.rb +200 -0
  28. data/__tests__/Integration/BankAccount.spec.rb +243 -0
  29. data/__tests__/Integration/BillingGroup.spec.rb +163 -0
  30. data/__tests__/Integration/Card.spec.rb +198 -0
  31. data/__tests__/Integration/CardOrder.spec.rb +122 -0
  32. data/__tests__/Integration/Check.spec.rb +361 -0
  33. data/__tests__/Integration/IntlAutocompletion.spec.rb +54 -0
  34. data/__tests__/Integration/IntlVerification.spec.rb +90 -0
  35. data/__tests__/Integration/Letter.spec.rb +286 -0
  36. data/__tests__/Integration/Postcard.spec.rb +214 -0
  37. data/__tests__/Integration/ReverseGeocodeLookup.spec.rb +30 -0
  38. data/__tests__/Integration/SelfMailer.spec.rb +270 -0
  39. data/__tests__/Integration/Template.spec.rb +221 -0
  40. data/__tests__/Integration/TemplateVersion.spec.rb +275 -0
  41. data/__tests__/Integration/UsAutocompletion.spec.rb +54 -0
  42. data/__tests__/Integration/UsVerification.spec.rb +102 -0
  43. data/__tests__/Integration/ZipLookup.spec.rb +29 -0
  44. data/__tests__/TestFixtures.rb +36 -0
  45. data/docs/Address.md +52 -0
  46. data/docs/AddressDeletion.md +22 -0
  47. data/docs/AddressDomestic.md +40 -0
  48. data/docs/AddressDomesticExpanded.md +40 -0
  49. data/docs/AddressEditable.md +40 -0
  50. data/docs/AddressList.md +28 -0
  51. data/docs/AddressesApi.md +303 -0
  52. data/docs/BankAccount.md +44 -0
  53. data/docs/BankAccountDeletion.md +22 -0
  54. data/docs/BankAccountList.md +28 -0
  55. data/docs/BankAccountVerify.md +18 -0
  56. data/docs/BankAccountWritable.md +28 -0
  57. data/docs/BankAccountsApi.md +376 -0
  58. data/docs/BankTypeEnum.md +15 -0
  59. data/docs/BillingGroup.md +28 -0
  60. data/docs/BillingGroupEditable.md +20 -0
  61. data/docs/BillingGroupList.md +26 -0
  62. data/docs/BillingGroupsApi.md +305 -0
  63. data/docs/Buckslip.md +60 -0
  64. data/docs/BuckslipDeletion.md +20 -0
  65. data/docs/BuckslipEditable.md +24 -0
  66. data/docs/BuckslipOrder.md +42 -0
  67. data/docs/BuckslipOrderEditable.md +18 -0
  68. data/docs/BuckslipOrdersApi.md +157 -0
  69. data/docs/BuckslipOrdersList.md +26 -0
  70. data/docs/BuckslipUpdatable.md +22 -0
  71. data/docs/BuckslipsApi.md +372 -0
  72. data/docs/BuckslipsList.md +28 -0
  73. data/docs/BulkError.md +18 -0
  74. data/docs/BulkErrorProperties.md +20 -0
  75. data/docs/Campaign.md +52 -0
  76. data/docs/CampaignCreative.md +42 -0
  77. data/docs/CampaignDeletion.md +20 -0
  78. data/docs/CampaignUpdatable.md +36 -0
  79. data/docs/CampaignWritable.md +36 -0
  80. data/docs/CampaignsApi.md +376 -0
  81. data/docs/CampaignsList.md +28 -0
  82. data/docs/Card.md +54 -0
  83. data/docs/CardDeletion.md +22 -0
  84. data/docs/CardEditable.md +24 -0
  85. data/docs/CardList.md +28 -0
  86. data/docs/CardOrder.md +42 -0
  87. data/docs/CardOrderEditable.md +18 -0
  88. data/docs/CardOrderList.md +26 -0
  89. data/docs/CardOrdersApi.md +157 -0
  90. data/docs/CardUpdatable.md +22 -0
  91. data/docs/CardsApi.md +372 -0
  92. data/docs/Check.md +68 -0
  93. data/docs/CheckDeletion.md +22 -0
  94. data/docs/CheckEditable.md +48 -0
  95. data/docs/CheckList.md +28 -0
  96. data/docs/ChecksApi.md +315 -0
  97. data/docs/CmpScheduleType.md +15 -0
  98. data/docs/CmpUseType.md +15 -0
  99. data/docs/CountryExtended.md +15 -0
  100. data/docs/CountryExtendedExpanded.md +15 -0
  101. data/docs/CreativePatch.md +22 -0
  102. data/docs/CreativeResponse.md +42 -0
  103. data/docs/CreativeWritable.md +34 -0
  104. data/docs/CreativesApi.md +226 -0
  105. data/docs/CustomEnvelopeReturned.md +22 -0
  106. data/docs/DefaultApi.md +75 -0
  107. data/docs/DeliverabilityAnalysis.md +46 -0
  108. data/docs/DpvFootnote.md +15 -0
  109. data/docs/EngineHtml.md +15 -0
  110. data/docs/EventType.md +24 -0
  111. data/docs/Events.md +28 -0
  112. data/docs/Export.md +32 -0
  113. data/docs/ExportModel.md +18 -0
  114. data/docs/GeocodeAddresses.md +20 -0
  115. data/docs/GeocodeComponents.md +20 -0
  116. data/docs/HTTPValidationError.md +18 -0
  117. data/docs/IdentityValidation.md +34 -0
  118. data/docs/IdentityValidationApi.md +78 -0
  119. data/docs/InlineObject.md +18 -0
  120. data/docs/IntlAutocompletions.md +20 -0
  121. data/docs/IntlAutocompletionsApi.md +82 -0
  122. data/docs/IntlAutocompletionsWritable.md +26 -0
  123. data/docs/IntlComponents.md +26 -0
  124. data/docs/IntlSuggestions.md +30 -0
  125. data/docs/IntlVerification.md +38 -0
  126. data/docs/IntlVerificationOrError.md +40 -0
  127. data/docs/IntlVerificationWritable.md +32 -0
  128. data/docs/IntlVerifications.md +20 -0
  129. data/docs/IntlVerificationsApi.md +153 -0
  130. data/docs/IntlVerificationsPayload.md +18 -0
  131. data/docs/Letter.md +72 -0
  132. data/docs/LetterCustomEnvelope.md +22 -0
  133. data/docs/LetterDeletion.md +22 -0
  134. data/docs/LetterDetailsReturned.md +36 -0
  135. data/docs/LetterDetailsWritable.md +32 -0
  136. data/docs/LetterEditable.md +52 -0
  137. data/docs/LetterList.md +28 -0
  138. data/docs/LettersApi.md +317 -0
  139. data/docs/LobConfidenceScore.md +20 -0
  140. data/docs/LobError.md +22 -0
  141. data/docs/Location.md +20 -0
  142. data/docs/LocationAnalysis.md +22 -0
  143. data/docs/MailType.md +15 -0
  144. data/docs/MultiLineAddress.md +32 -0
  145. data/docs/MultipleComponents.md +30 -0
  146. data/docs/MultipleComponentsIntl.md +30 -0
  147. data/docs/MultipleComponentsList.md +18 -0
  148. data/docs/PlaceholderModel.md +28 -0
  149. data/docs/Postcard.md +60 -0
  150. data/docs/PostcardDeletion.md +22 -0
  151. data/docs/PostcardDetailsReturned.md +26 -0
  152. data/docs/PostcardDetailsWritable.md +20 -0
  153. data/docs/PostcardEditable.md +40 -0
  154. data/docs/PostcardList.md +28 -0
  155. data/docs/PostcardSize.md +15 -0
  156. data/docs/PostcardsApi.md +317 -0
  157. data/docs/QrCode.md +30 -0
  158. data/docs/ReturnEnvelope.md +24 -0
  159. data/docs/ReverseGeocode.md +22 -0
  160. data/docs/ReverseGeocodeLookupsApi.md +82 -0
  161. data/docs/SelfMailer.md +48 -0
  162. data/docs/SelfMailerDeletion.md +22 -0
  163. data/docs/SelfMailerEditable.md +38 -0
  164. data/docs/SelfMailerList.md +28 -0
  165. data/docs/SelfMailerSize.md +15 -0
  166. data/docs/SelfMailersApi.md +317 -0
  167. data/docs/SortBy.md +20 -0
  168. data/docs/SortBy1.md +20 -0
  169. data/docs/SortBy2.md +20 -0
  170. data/docs/SortBy3.md +20 -0
  171. data/docs/SortByDateModified.md +20 -0
  172. data/docs/Suggestions.md +26 -0
  173. data/docs/Template.md +34 -0
  174. data/docs/TemplateDeletion.md +22 -0
  175. data/docs/TemplateList.md +28 -0
  176. data/docs/TemplateUpdate.md +20 -0
  177. data/docs/TemplateVersion.md +36 -0
  178. data/docs/TemplateVersionDeletion.md +22 -0
  179. data/docs/TemplateVersionList.md +28 -0
  180. data/docs/TemplateVersionUpdatable.md +20 -0
  181. data/docs/TemplateVersionWritable.md +22 -0
  182. data/docs/TemplateVersionsApi.md +384 -0
  183. data/docs/TemplateWritable.md +24 -0
  184. data/docs/TemplatesApi.md +376 -0
  185. data/docs/Thumbnail.md +22 -0
  186. data/docs/TrackingEventCertified.md +34 -0
  187. data/docs/TrackingEventDetails.md +24 -0
  188. data/docs/TrackingEventNormal.md +34 -0
  189. data/docs/Upload.md +44 -0
  190. data/docs/UploadCreateExport.md +20 -0
  191. data/docs/UploadFile.md +20 -0
  192. data/docs/UploadState.md +15 -0
  193. data/docs/UploadUpdatable.md +20 -0
  194. data/docs/UploadWritable.md +18 -0
  195. data/docs/UploadsApi.md +584 -0
  196. data/docs/UsAutocompletions.md +22 -0
  197. data/docs/UsAutocompletionsApi.md +78 -0
  198. data/docs/UsAutocompletionsWritable.md +26 -0
  199. data/docs/UsComponents.md +70 -0
  200. data/docs/UsVerification.md +38 -0
  201. data/docs/UsVerificationOrError.md +40 -0
  202. data/docs/UsVerifications.md +20 -0
  203. data/docs/UsVerificationsApi.md +157 -0
  204. data/docs/UsVerificationsWritable.md +32 -0
  205. data/docs/ValidationError.md +22 -0
  206. data/docs/Zip.md +26 -0
  207. data/docs/ZipCodeType.md +15 -0
  208. data/docs/ZipEditable.md +18 -0
  209. data/docs/ZipLookupCity.md +26 -0
  210. data/docs/ZipLookupsApi.md +78 -0
  211. data/git_push.sh +57 -0
  212. data/lib/lob.rb +1 -7
  213. data/lib/openapi_client/api/addresses_api.rb +318 -0
  214. data/lib/openapi_client/api/bank_accounts_api.rb +397 -0
  215. data/lib/openapi_client/api/billing_groups_api.rb +320 -0
  216. data/lib/openapi_client/api/buckslip_orders_api.rb +183 -0
  217. data/lib/openapi_client/api/buckslips_api.rb +385 -0
  218. data/lib/openapi_client/api/campaigns_api.rb +389 -0
  219. data/lib/openapi_client/api/card_orders_api.rb +183 -0
  220. data/lib/openapi_client/api/cards_api.rb +382 -0
  221. data/lib/openapi_client/api/checks_api.rb +337 -0
  222. data/lib/openapi_client/api/creatives_api.rb +244 -0
  223. data/lib/openapi_client/api/default_api.rb +79 -0
  224. data/lib/openapi_client/api/identity_validation_api.rb +90 -0
  225. data/lib/openapi_client/api/intl_autocompletions_api.rb +97 -0
  226. data/lib/openapi_client/api/intl_verifications_api.rb +165 -0
  227. data/lib/openapi_client/api/letters_api.rb +343 -0
  228. data/lib/openapi_client/api/postcards_api.rb +340 -0
  229. data/lib/openapi_client/api/reverse_geocode_lookups_api.rb +101 -0
  230. data/lib/openapi_client/api/self_mailers_api.rb +340 -0
  231. data/lib/openapi_client/api/template_versions_api.rb +440 -0
  232. data/lib/openapi_client/api/templates_api.rb +397 -0
  233. data/lib/openapi_client/api/uploads_api.rb +604 -0
  234. data/lib/openapi_client/api/us_autocompletions_api.rb +90 -0
  235. data/lib/openapi_client/api/us_verifications_api.rb +172 -0
  236. data/lib/openapi_client/api/zip_lookups_api.rb +90 -0
  237. data/lib/openapi_client/api_client.rb +392 -0
  238. data/lib/openapi_client/api_error.rb +57 -0
  239. data/lib/openapi_client/configuration.rb +279 -0
  240. data/lib/openapi_client/models/address.rb +616 -0
  241. data/lib/openapi_client/models/address_deletion.rb +303 -0
  242. data/lib/openapi_client/models/address_domestic.rb +522 -0
  243. data/lib/openapi_client/models/address_domestic_expanded.rb +521 -0
  244. data/lib/openapi_client/models/address_editable.rb +503 -0
  245. data/lib/openapi_client/models/address_list.rb +324 -0
  246. data/lib/openapi_client/models/bank_account.rb +576 -0
  247. data/lib/openapi_client/models/bank_account_deletion.rb +303 -0
  248. data/lib/openapi_client/models/bank_account_list.rb +324 -0
  249. data/lib/openapi_client/models/bank_account_verify.rb +264 -0
  250. data/lib/openapi_client/models/bank_account_writable.rb +387 -0
  251. data/lib/openapi_client/models/bank_type_enum.rb +37 -0
  252. data/lib/openapi_client/models/billing_group.rb +395 -0
  253. data/lib/openapi_client/models/billing_group_editable.rb +278 -0
  254. data/lib/openapi_client/models/billing_group_list.rb +314 -0
  255. data/lib/openapi_client/models/buckslip.rb +814 -0
  256. data/lib/openapi_client/models/buckslip_deletion.rb +257 -0
  257. data/lib/openapi_client/models/buckslip_editable.rb +316 -0
  258. data/lib/openapi_client/models/buckslip_order.rb +438 -0
  259. data/lib/openapi_client/models/buckslip_order_editable.rb +262 -0
  260. data/lib/openapi_client/models/buckslip_orders_list.rb +312 -0
  261. data/lib/openapi_client/models/buckslip_updatable.rb +289 -0
  262. data/lib/openapi_client/models/buckslips_list.rb +324 -0
  263. data/lib/openapi_client/models/bulk_error.rb +229 -0
  264. data/lib/openapi_client/models/bulk_error_properties.rb +274 -0
  265. data/lib/openapi_client/models/campaign.rb +549 -0
  266. data/lib/openapi_client/models/campaign_creative.rb +467 -0
  267. data/lib/openapi_client/models/campaign_deletion.rb +257 -0
  268. data/lib/openapi_client/models/campaign_updatable.rb +341 -0
  269. data/lib/openapi_client/models/campaign_writable.rb +373 -0
  270. data/lib/openapi_client/models/campaigns_list.rb +324 -0
  271. data/lib/openapi_client/models/card.rb +681 -0
  272. data/lib/openapi_client/models/card_deletion.rb +303 -0
  273. data/lib/openapi_client/models/card_editable.rb +318 -0
  274. data/lib/openapi_client/models/card_list.rb +324 -0
  275. data/lib/openapi_client/models/card_order.rb +438 -0
  276. data/lib/openapi_client/models/card_order_editable.rb +261 -0
  277. data/lib/openapi_client/models/card_order_list.rb +273 -0
  278. data/lib/openapi_client/models/card_updatable.rb +289 -0
  279. data/lib/openapi_client/models/check.rb +812 -0
  280. data/lib/openapi_client/models/check_deletion.rb +303 -0
  281. data/lib/openapi_client/models/check_editable.rb +537 -0
  282. data/lib/openapi_client/models/check_list.rb +324 -0
  283. data/lib/openapi_client/models/chk_use_type.rb +38 -0
  284. data/lib/openapi_client/models/cmp_schedule_type.rb +36 -0
  285. data/lib/openapi_client/models/cmp_use_type.rb +38 -0
  286. data/lib/openapi_client/models/country_extended.rb +254 -0
  287. data/lib/openapi_client/models/country_extended_expanded.rb +255 -0
  288. data/lib/openapi_client/models/creative_patch.rb +274 -0
  289. data/lib/openapi_client/models/creative_response.rb +444 -0
  290. data/lib/openapi_client/models/creative_writable.rb +400 -0
  291. data/lib/openapi_client/models/custom_envelope_returned.rb +319 -0
  292. data/lib/openapi_client/models/deliverability_analysis.rb +601 -0
  293. data/lib/openapi_client/models/dpv_footnote.rb +54 -0
  294. data/lib/openapi_client/models/engine_html.rb +37 -0
  295. data/lib/openapi_client/models/event_type.rb +325 -0
  296. data/lib/openapi_client/models/events.rb +365 -0
  297. data/lib/openapi_client/models/export.rb +422 -0
  298. data/lib/openapi_client/models/export_model.rb +262 -0
  299. data/lib/openapi_client/models/geocode_addresses.rb +237 -0
  300. data/lib/openapi_client/models/geocode_components.rb +291 -0
  301. data/lib/openapi_client/models/http_validation_error.rb +230 -0
  302. data/lib/openapi_client/models/identity_validation.rb +460 -0
  303. data/lib/openapi_client/models/inline_object.rb +229 -0
  304. data/lib/openapi_client/models/intl_autocompletions.rb +282 -0
  305. data/lib/openapi_client/models/intl_autocompletions_writable.rb +278 -0
  306. data/lib/openapi_client/models/intl_components.rb +314 -0
  307. data/lib/openapi_client/models/intl_suggestions.rb +372 -0
  308. data/lib/openapi_client/models/intl_verification.rb +463 -0
  309. data/lib/openapi_client/models/intl_verification_or_error.rb +466 -0
  310. data/lib/openapi_client/models/intl_verification_writable.rb +388 -0
  311. data/lib/openapi_client/models/intl_verifications.rb +250 -0
  312. data/lib/openapi_client/models/intl_verifications_payload.rb +263 -0
  313. data/lib/openapi_client/models/letter.rb +737 -0
  314. data/lib/openapi_client/models/letter_custom_envelope.rb +300 -0
  315. data/lib/openapi_client/models/letter_deletion.rb +303 -0
  316. data/lib/openapi_client/models/letter_details_returned.rb +393 -0
  317. data/lib/openapi_client/models/letter_details_writable.rb +390 -0
  318. data/lib/openapi_client/models/letter_editable.rb +532 -0
  319. data/lib/openapi_client/models/letter_list.rb +324 -0
  320. data/lib/openapi_client/models/lob_confidence_score.rb +299 -0
  321. data/lib/openapi_client/models/lob_error.rb +296 -0
  322. data/lib/openapi_client/models/location.rb +289 -0
  323. data/lib/openapi_client/models/location_analysis.rb +305 -0
  324. data/lib/openapi_client/models/ltr_use_type.rb +38 -0
  325. data/lib/openapi_client/models/mail_type.rb +37 -0
  326. data/lib/openapi_client/models/multi_line_address.rb +431 -0
  327. data/lib/openapi_client/models/multiple_components.rb +405 -0
  328. data/lib/openapi_client/models/multiple_components_intl.rb +377 -0
  329. data/lib/openapi_client/models/multiple_components_list.rb +263 -0
  330. data/lib/openapi_client/models/optional_address_column_mapping.rb +259 -0
  331. data/lib/openapi_client/models/placeholder_model.rb +273 -0
  332. data/lib/openapi_client/models/postcard.rb +656 -0
  333. data/lib/openapi_client/models/postcard_deletion.rb +303 -0
  334. data/lib/openapi_client/models/postcard_details_returned.rb +321 -0
  335. data/lib/openapi_client/models/postcard_details_writable.rb +242 -0
  336. data/lib/openapi_client/models/postcard_editable.rb +393 -0
  337. data/lib/openapi_client/models/postcard_list.rb +324 -0
  338. data/lib/openapi_client/models/postcard_size.rb +38 -0
  339. data/lib/openapi_client/models/psc_use_type.rb +38 -0
  340. data/lib/openapi_client/models/qr_code.rb +339 -0
  341. data/lib/openapi_client/models/required_address_column_mapping.rb +285 -0
  342. data/lib/openapi_client/models/return_envelope.rb +258 -0
  343. data/lib/openapi_client/models/reverse_geocode.rb +304 -0
  344. data/lib/openapi_client/models/self_mailer.rb +584 -0
  345. data/lib/openapi_client/models/self_mailer_deletion.rb +303 -0
  346. data/lib/openapi_client/models/self_mailer_editable.rb +384 -0
  347. data/lib/openapi_client/models/self_mailer_list.rb +324 -0
  348. data/lib/openapi_client/models/self_mailer_size.rb +38 -0
  349. data/lib/openapi_client/models/sfm_use_type.rb +38 -0
  350. data/lib/openapi_client/models/sort_by.rb +283 -0
  351. data/lib/openapi_client/models/sort_by1.rb +283 -0
  352. data/lib/openapi_client/models/sort_by2.rb +283 -0
  353. data/lib/openapi_client/models/sort_by3.rb +283 -0
  354. data/lib/openapi_client/models/sort_by_date_modified.rb +283 -0
  355. data/lib/openapi_client/models/suggestions.rb +343 -0
  356. data/lib/openapi_client/models/template.rb +406 -0
  357. data/lib/openapi_client/models/template_deletion.rb +303 -0
  358. data/lib/openapi_client/models/template_list.rb +324 -0
  359. data/lib/openapi_client/models/template_update.rb +272 -0
  360. data/lib/openapi_client/models/template_version.rb +423 -0
  361. data/lib/openapi_client/models/template_version_deletion.rb +303 -0
  362. data/lib/openapi_client/models/template_version_list.rb +324 -0
  363. data/lib/openapi_client/models/template_version_updatable.rb +257 -0
  364. data/lib/openapi_client/models/template_version_writable.rb +291 -0
  365. data/lib/openapi_client/models/template_writable.rb +309 -0
  366. data/lib/openapi_client/models/thumbnail.rb +300 -0
  367. data/lib/openapi_client/models/tracking_event_certified.rb +419 -0
  368. data/lib/openapi_client/models/tracking_event_details.rb +308 -0
  369. data/lib/openapi_client/models/tracking_event_normal.rb +409 -0
  370. data/lib/openapi_client/models/upload.rb +498 -0
  371. data/lib/openapi_client/models/upload_create_export.rb +283 -0
  372. data/lib/openapi_client/models/upload_file.rb +283 -0
  373. data/lib/openapi_client/models/upload_state.rb +42 -0
  374. data/lib/openapi_client/models/upload_updatable.rb +267 -0
  375. data/lib/openapi_client/models/upload_writable.rb +271 -0
  376. data/lib/openapi_client/models/uploads_metadata.rb +237 -0
  377. data/lib/openapi_client/models/us_autocompletions.rb +328 -0
  378. data/lib/openapi_client/models/us_autocompletions_writable.rb +274 -0
  379. data/lib/openapi_client/models/us_components.rb +788 -0
  380. data/lib/openapi_client/models/us_verification.rb +461 -0
  381. data/lib/openapi_client/models/us_verification_or_error.rb +459 -0
  382. data/lib/openapi_client/models/us_verifications.rb +250 -0
  383. data/lib/openapi_client/models/us_verifications_writable.rb +421 -0
  384. data/lib/openapi_client/models/validation_error.rb +263 -0
  385. data/lib/openapi_client/models/zip.rb +363 -0
  386. data/lib/openapi_client/models/zip_code_type.rb +40 -0
  387. data/lib/openapi_client/models/zip_editable.rb +246 -0
  388. data/lib/openapi_client/models/zip_lookup_city.rb +331 -0
  389. data/lib/openapi_client/version.rb +15 -0
  390. data/lib/openapi_client.rb +212 -0
  391. data/openapi_client.gemspec +37 -0
  392. data/spec/api/addresses_api_spec.rb +88 -0
  393. data/spec/api/bank_accounts_api_spec.rb +101 -0
  394. data/spec/api/billing_groups_api_spec.rb +89 -0
  395. data/spec/api/campaigns_api_spec.rb +100 -0
  396. data/spec/api/card_orders_api_spec.rb +62 -0
  397. data/spec/api/cards_api_spec.rb +99 -0
  398. data/spec/api/checks_api_spec.rb +93 -0
  399. data/spec/api/creatives_api_spec.rb +73 -0
  400. data/spec/api/default_api_spec.rb +46 -0
  401. data/spec/api/identity_validation_api_spec.rb +47 -0
  402. data/spec/api/intl_autocompletions_api_spec.rb +48 -0
  403. data/spec/api/intl_verifications_api_spec.rb +60 -0
  404. data/spec/api/letters_api_spec.rb +94 -0
  405. data/spec/api/postcards_api_spec.rb +94 -0
  406. data/spec/api/reverse_geocode_lookups_api_spec.rb +48 -0
  407. data/spec/api/self_mailers_api_spec.rb +94 -0
  408. data/spec/api/template_versions_api_spec.rb +105 -0
  409. data/spec/api/templates_api_spec.rb +101 -0
  410. data/spec/api/uploads_api_spec.rb +135 -0
  411. data/spec/api/us_autocompletions_api_spec.rb +47 -0
  412. data/spec/api/us_verifications_api_spec.rb +61 -0
  413. data/spec/api/zip_lookups_api_spec.rb +47 -0
  414. data/spec/api_client_spec.rb +226 -0
  415. data/spec/configuration_spec.rb +42 -0
  416. data/spec/spec_helper.rb +105 -13
  417. metadata +450 -214
  418. data/.github/workflows/forked_tests_job.yml +0 -36
  419. data/.github/workflows/run_tests_job.yml +0 -32
  420. data/.github/workflows/update_gem.yml +0 -27
  421. data/.gitignore +0 -19
  422. data/CHANGELOG.md +0 -148
  423. data/CONTRIBUTING.md +0 -19
  424. data/LICENSE.txt +0 -22
  425. data/examples/README.md +0 -119
  426. data/examples/cards.rb +0 -51
  427. data/examples/checks.rb +0 -49
  428. data/examples/csv_checks/create_checks.rb +0 -48
  429. data/examples/csv_checks/input.csv +0 -6
  430. data/examples/csv_letters/create_letters.rb +0 -41
  431. data/examples/csv_letters/input.csv +0 -6
  432. data/examples/csv_letters/letter_template.html +0 -33
  433. data/examples/csv_postcards/create_postcards.rb +0 -46
  434. data/examples/csv_postcards/input.csv +0 -7
  435. data/examples/csv_postcards/postcard_back.html +0 -38
  436. data/examples/csv_postcards/postcard_front.html +0 -25
  437. data/examples/csv_verify/input.csv +0 -7
  438. data/examples/csv_verify/verify.rb +0 -37
  439. data/examples/letters.rb +0 -73
  440. data/examples/list_postcards_metadata.rb +0 -94
  441. data/examples/postcards.rb +0 -87
  442. data/examples/postcards_idempotent.rb +0 -92
  443. data/examples/postcards_intl.rb +0 -87
  444. data/examples/postcards_remote.rb +0 -87
  445. data/examples/postcards_send_date.rb +0 -97
  446. data/examples/postcards_template.rb +0 -98
  447. data/examples/self_mailers.rb +0 -38
  448. data/lib/lob/client.rb +0 -96
  449. data/lib/lob/errors/invalid_request_error.rb +0 -4
  450. data/lib/lob/errors/lob_error.rb +0 -20
  451. data/lib/lob/resources/address.rb +0 -14
  452. data/lib/lob/resources/bank_account.rb +0 -30
  453. data/lib/lob/resources/bulk_intl_verifications.rb +0 -27
  454. data/lib/lob/resources/bulk_us_verifications.rb +0 -28
  455. data/lib/lob/resources/card.rb +0 -46
  456. data/lib/lob/resources/check.rb +0 -14
  457. data/lib/lob/resources/group.rb +0 -14
  458. data/lib/lob/resources/groups_member.rb +0 -66
  459. data/lib/lob/resources/intl_verifications.rb +0 -26
  460. data/lib/lob/resources/letter.rb +0 -14
  461. data/lib/lob/resources/postcard.rb +0 -14
  462. data/lib/lob/resources/resource_base.rb +0 -150
  463. data/lib/lob/resources/self_mailer.rb +0 -14
  464. data/lib/lob/resources/us_autocompletions.rb +0 -26
  465. data/lib/lob/resources/us_reverse_geocode_lookups.rb +0 -26
  466. data/lib/lob/resources/us_verifications.rb +0 -27
  467. data/lib/lob/resources/us_zip_lookups.rb +0 -26
  468. data/lib/lob/version.rb +0 -3
  469. data/lob.gemspec +0 -31
  470. data/spec/lob/errors/lob_error_spec.rb +0 -19
  471. data/spec/lob/resources/address_spec.rb +0 -55
  472. data/spec/lob/resources/bank_account_spec.rb +0 -60
  473. data/spec/lob/resources/bulk_intl_verifications_spec.rb +0 -39
  474. data/spec/lob/resources/bulk_us_verifications_spec.rb +0 -51
  475. data/spec/lob/resources/card_spec.rb +0 -145
  476. data/spec/lob/resources/check_spec.rb +0 -119
  477. data/spec/lob/resources/group_spec.rb +0 -50
  478. data/spec/lob/resources/intl_verifications_spec.rb +0 -25
  479. data/spec/lob/resources/letter_spec.rb +0 -114
  480. data/spec/lob/resources/member_spec.rb +0 -65
  481. data/spec/lob/resources/postcard_spec.rb +0 -160
  482. data/spec/lob/resources/resource_base_spec.rb +0 -75
  483. data/spec/lob/resources/self_mailer_spec.rb +0 -177
  484. data/spec/lob/resources/us_autocompletions_spec.rb +0 -24
  485. data/spec/lob/resources/us_reverse_geocode_lookups_spec.rb +0 -22
  486. data/spec/lob/resources/us_verifications_spec.rb +0 -31
  487. data/spec/lob/resources/us_zip_lookups_spec.rb +0 -23
  488. data/spec/lob_spec.rb +0 -48
  489. data/spec/samples/8.5x11.pdf +0 -0
  490. data/spec/samples/card.pdf +1 -743
  491. data/spec/samples/postcardback.pdf +2 -2287
  492. data/spec/samples/postcardfront.pdf +1 -1549
  493. data/spec/samples/sfm-12x9-inside.pdf +0 -0
  494. data/spec/samples/sfm-12x9-outside.pdf +0 -0
  495. data/spec/samples/sfm-6x18-inside.pdf +0 -0
  496. data/spec/samples/sfm-6x18-outside.pdf +0 -0
@@ -0,0 +1,423 @@
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 TemplateVersion
18
+ # Unique identifier prefixed with `vrsn_`.
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
+ # An HTML string of less than 100,000 characters to be used as the `published_version` of this template. See [here](#section/HTML-Examples) for guidance on designing HTML templates. Please see endpoint specific documentation for any other product-specific HTML details: - [Postcards](https://docs.lob.com/#tag/Postcards/operation/postcard_create) - `front` and `back` - [Self Mailers](https://docs.lob.com/#tag/Self-Mailers/operation/self_mailer_create) - `inside` and `outside` - [Letters](https://docs.lob.com/#tag/Letters/operation/letter_create) - `file` - [Checks](https://docs.lob.com/#tag/Checks/operation/check_create) - `check_bottom` and `attachment` - [Cards](https://docs.lob.com/#tag/Cards/operation/card_create) - `front` and `back` If there is a syntax error with your variable names within your HTML, then an error will be thrown, e.g. using a `{{#users}}` opening tag without the corresponding closing tag `{{/users}}`.
25
+ attr_accessor :html
26
+
27
+ attr_accessor :engine
28
+
29
+ # Used by frontend, true if the template uses advanced features.
30
+ attr_accessor :suggest_json_editor
31
+
32
+ # Used by frontend, an object representing the keys of every merge variable present in the template. It has one key named 'keys', and its value is an array of strings.
33
+ attr_accessor :merge_variables
34
+
35
+ # A timestamp in ISO 8601 format of the date the resource was created.
36
+ attr_accessor :date_created
37
+
38
+ # A timestamp in ISO 8601 format of the date the resource was last modified.
39
+ attr_accessor :date_modified
40
+
41
+ # Only returned if the resource has been successfully deleted.
42
+ attr_accessor :deleted
43
+
44
+ # Value is resource type.
45
+ attr_accessor :object
46
+
47
+ class EnumAttributeValidator
48
+ attr_reader :datatype
49
+ attr_reader :allowable_values
50
+
51
+ def initialize(datatype, allowable_values)
52
+ @allowable_values = allowable_values.map do |value|
53
+ case datatype.to_s
54
+ when /Integer/i
55
+ value.to_i
56
+ when /Float/i
57
+ value.to_f
58
+ else
59
+ value
60
+ end
61
+ end
62
+ end
63
+
64
+ def valid?(value)
65
+ !value || allowable_values.include?(value)
66
+ end
67
+ end
68
+
69
+ # Attribute mapping from ruby-style variable name to JSON key.
70
+ def self.attribute_map
71
+ {
72
+ :'id' => :'id',
73
+ :'description' => :'description',
74
+ :'html' => :'html',
75
+ :'engine' => :'engine',
76
+ :'suggest_json_editor' => :'suggest_json_editor',
77
+ :'merge_variables' => :'merge_variables',
78
+ :'date_created' => :'date_created',
79
+ :'date_modified' => :'date_modified',
80
+ :'deleted' => :'deleted',
81
+ :'object' => :'object'
82
+ }
83
+ end
84
+
85
+ # Returns all the JSON keys this model knows about
86
+ def self.acceptable_attributes
87
+ attribute_map.values
88
+ end
89
+
90
+ # Attribute type mapping.
91
+ def self.openapi_types
92
+ {
93
+ :'id' => :'String',
94
+ :'description' => :'String',
95
+ :'html' => :'String',
96
+ :'engine' => :'EngineHtml',
97
+ :'suggest_json_editor' => :'Boolean',
98
+ :'merge_variables' => :'Object',
99
+ :'date_created' => :'Time',
100
+ :'date_modified' => :'Time',
101
+ :'deleted' => :'Boolean',
102
+ :'object' => :'String'
103
+ }
104
+ end
105
+
106
+ # List of attributes with nullable: true
107
+ def self.openapi_nullable
108
+ Set.new([
109
+ :'description',
110
+ :'engine',
111
+ ])
112
+ end
113
+
114
+ # Initializes the object
115
+ # @param [Hash] attributes Model attributes in the form of hash
116
+ def initialize(attributes = {})
117
+ if (!attributes.is_a?(Hash))
118
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Lob::TemplateVersion` initialize method"
119
+ end
120
+
121
+ # check to see if the attribute exists and convert string to symbol for hash key
122
+ attributes = attributes.each_with_object({}) { |(k, v), h|
123
+ if (!self.class.attribute_map.key?(k.to_sym))
124
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Lob::TemplateVersion`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
125
+ end
126
+ h[k.to_sym] = v
127
+ }
128
+
129
+ if attributes.key?(:'id')
130
+ self.id = attributes[:'id']
131
+ end
132
+
133
+ if attributes.key?(:'description')
134
+ self.description = attributes[:'description']
135
+ end
136
+
137
+ if attributes.key?(:'html')
138
+ self.html = attributes[:'html']
139
+ end
140
+
141
+ if attributes.key?(:'engine')
142
+ self.engine = attributes[:'engine']
143
+ else
144
+ self.engine = 'legacy'
145
+ end
146
+
147
+ if attributes.key?(:'suggest_json_editor')
148
+ self.suggest_json_editor = attributes[:'suggest_json_editor']
149
+ end
150
+
151
+ if attributes.key?(:'merge_variables')
152
+ self.merge_variables = attributes[:'merge_variables']
153
+ end
154
+
155
+ if attributes.key?(:'date_created')
156
+ self.date_created = attributes[:'date_created']
157
+ end
158
+
159
+ if attributes.key?(:'date_modified')
160
+ self.date_modified = attributes[:'date_modified']
161
+ end
162
+
163
+ if attributes.key?(:'deleted')
164
+ self.deleted = attributes[:'deleted']
165
+ end
166
+
167
+ if attributes.key?(:'object')
168
+ self.object = attributes[:'object']
169
+ else
170
+ self.object = 'version'
171
+ end
172
+ end
173
+
174
+ # Show invalid properties with the reasons. Usually used together with valid?
175
+ # @return Array for valid properties with the reasons
176
+ def list_invalid_properties
177
+ invalid_properties = Array.new
178
+ if @id.nil?
179
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
180
+ end
181
+
182
+ pattern = Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
183
+ if @id !~ pattern
184
+ invalid_properties.push("invalid value for \"id\", must conform to the pattern #{pattern}.")
185
+ end
186
+
187
+ if !@description.nil? && @description.to_s.length > 255
188
+ invalid_properties.push('invalid value for "description", the character length must be smaller than or equal to 255.')
189
+ end
190
+
191
+ if @html.nil?
192
+ invalid_properties.push('invalid value for "html", html cannot be nil.')
193
+ end
194
+
195
+ if @html.to_s.length > 100000
196
+ invalid_properties.push('invalid value for "html", the character length must be smaller than or equal to 100000.')
197
+ end
198
+
199
+ invalid_properties
200
+ end
201
+
202
+ # Check to see if the all the properties in the model are valid
203
+ # @return true if the model is valid
204
+ def valid?
205
+ return false if @id.nil?
206
+ return false if @id !~ Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
207
+ return false if !@description.nil? && @description.to_s.length > 255
208
+ return false if @html.nil?
209
+ return false if @html.to_s.length > 100000
210
+ object_validator = EnumAttributeValidator.new('String', ["version"])
211
+ return false unless object_validator.valid?(@object)
212
+ true
213
+ end
214
+
215
+ # Custom attribute writer method with validation
216
+ # @param [Object] id Value to be assigned
217
+ def id=(id)
218
+ if id.nil?
219
+ fail ArgumentError, 'id cannot be nil'
220
+ end
221
+
222
+ pattern = Regexp.new(/^vrsn_[a-zA-Z0-9]+$/)
223
+ if id !~ pattern
224
+ fail ArgumentError, "invalid value for \"id\", must conform to the pattern #{pattern}."
225
+ end
226
+
227
+ @id = id
228
+ end
229
+
230
+ # Custom attribute writer method with validation
231
+ # @param [Object] description Value to be assigned
232
+ def description=(description)
233
+ if !description.nil? && description.to_s.length > 255
234
+ fail ArgumentError, 'invalid value for "description", the character length must be smaller than or equal to 255.'
235
+ end
236
+
237
+ @description = description
238
+ end
239
+
240
+ # Custom attribute writer method with validation
241
+ # @param [Object] html Value to be assigned
242
+ def html=(html)
243
+ if html.nil?
244
+ fail ArgumentError, 'html cannot be nil'
245
+ end
246
+
247
+ if html.to_s.length > 100000
248
+ fail ArgumentError, 'invalid value for "html", the character length must be smaller than or equal to 100000.'
249
+ end
250
+
251
+ @html = html
252
+ end
253
+
254
+ # Custom attribute writer method checking allowed values (enum).
255
+ # @param [Object] object Object to be assigned
256
+ def object=(object)
257
+ validator = EnumAttributeValidator.new('String', ["version"])
258
+ unless validator.valid?(object)
259
+ fail ArgumentError, "invalid value for \"object\", must be one of #{validator.allowable_values}."
260
+ end
261
+ @object = object
262
+ end
263
+
264
+ # Checks equality by comparing each attribute.
265
+ # @param [Object] Object to be compared
266
+ def ==(o)
267
+ return true if self.equal?(o)
268
+ self.class == o.class &&
269
+ id == o.id &&
270
+ description == o.description &&
271
+ html == o.html &&
272
+ engine == o.engine &&
273
+ suggest_json_editor == o.suggest_json_editor &&
274
+ merge_variables == o.merge_variables &&
275
+ date_created == o.date_created &&
276
+ date_modified == o.date_modified &&
277
+ deleted == o.deleted &&
278
+ object == o.object
279
+ end
280
+
281
+ # @see the `==` method
282
+ # @param [Object] Object to be compared
283
+ def eql?(o)
284
+ self == o
285
+ end
286
+
287
+ # Calculates hash code according to all attributes.
288
+ # @return [Integer] Hash code
289
+ def hash
290
+ [id, description, html, engine, suggest_json_editor, merge_variables, date_created, date_modified, deleted, object].hash
291
+ end
292
+
293
+
294
+ # Builds the object from hash
295
+ # @param [Hash] attributes Model attributes in the form of hash
296
+ # @return [Object] Returns the model itself
297
+ def self.build_from_hash(attributes)
298
+ new.build_from_hash(attributes)
299
+ end
300
+
301
+ # Builds the object from hash
302
+ # @param [Hash] attributes Model attributes in the form of hash
303
+ # @return [Object] Returns the model itself
304
+ def build_from_hash(attributes)
305
+ return nil unless attributes.is_a?(Hash)
306
+ attributes = attributes.transform_keys(&:to_sym)
307
+ self.class.openapi_types.each_pair do |key, type|
308
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
309
+ self.send("#{key}=", nil) # // guardrails-disable-line
310
+ elsif type =~ /\AArray<(.*)>/i
311
+ # check to ensure the input is an array given that the attribute
312
+ # is documented as an array but the input is not
313
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
314
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) # // guardrails-disable-line
315
+ end
316
+ elsif !attributes[self.class.attribute_map[key]].nil? && type.kind_of?(Array)
317
+ for base_type in type do
318
+ res = _deserialize(base_type, attributes[self.class.attribute_map[key]])
319
+ if !res.nil?
320
+ self.send("#{key}=", res) # // guardrails-disable-line
321
+ break
322
+ end
323
+ end
324
+ elsif !attributes[self.class.attribute_map[key]].nil?
325
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) # // guardrails-disable-line
326
+ end
327
+ end
328
+
329
+ self
330
+ end
331
+
332
+ # Deserializes the data based on type
333
+ # @param string type Data type
334
+ # @param string value Value to be deserialized
335
+ # @return [Object] Deserialized data
336
+ def _deserialize(type, value)
337
+ case type.to_sym
338
+ when :Time
339
+ Time.parse(value)
340
+ when :Date
341
+ Date.parse(value)
342
+ when :String
343
+ value.to_s
344
+ when :Integer
345
+ value.to_i
346
+ when :Float
347
+ value.to_f
348
+ when :Boolean
349
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
350
+ true
351
+ else
352
+ false
353
+ end
354
+ when :Object
355
+ # generic object (usually a Hash), return directly
356
+ value
357
+ when /\AArray<(?<inner_type>.+)>\z/
358
+ inner_type = Regexp.last_match[:inner_type]
359
+ value.map { |v| _deserialize(inner_type, v) }
360
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
361
+ k_type = Regexp.last_match[:k_type]
362
+ v_type = Regexp.last_match[:v_type]
363
+ {}.tap do |hash|
364
+ value.each do |k, v|
365
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
366
+ end
367
+ end
368
+ else # model
369
+ # models (e.g. Pet) or oneOf
370
+ klass = Lob.const_get(type)
371
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
372
+ end
373
+ end
374
+
375
+ # Returns the string representation of the object
376
+ # @return [String] String presentation of the object
377
+ def to_s
378
+ to_hash.to_s
379
+ end
380
+
381
+ # to_body is an alias to to_hash (backward compatibility)
382
+ # @return [Hash] Returns the object in the form of hash
383
+ def to_body
384
+ to_hash
385
+ end
386
+
387
+ # Returns the object in the form of hash
388
+ # @return [Hash] Returns the object in the form of hash
389
+ def to_hash
390
+ hash = {}
391
+ self.class.attribute_map.each_pair do |attr, param|
392
+ value = self.send(attr) # // guardrails-disable-line
393
+ if value.nil?
394
+ is_nullable = self.class.openapi_nullable.include?(attr)
395
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
396
+ end
397
+
398
+ hash[param] = _to_hash(value)
399
+ end
400
+ hash
401
+ end
402
+
403
+ # Outputs non-array value in the form of hash
404
+ # For object, use to_hash. Otherwise, just return the value
405
+ # @param [Object] value Any valid value
406
+ # @return [Hash] Returns the value in the form of hash
407
+ def _to_hash(value)
408
+ if value.is_a?(Array)
409
+ value.compact.map { |v| _to_hash(v) }
410
+ elsif value.is_a?(Hash)
411
+ {}.tap do |hash|
412
+ value.each { |k, v| hash[k] = _to_hash(v) }
413
+ end
414
+ elsif value.respond_to? :to_hash
415
+ value.to_hash
416
+ else
417
+ value
418
+ end
419
+ end
420
+
421
+ end
422
+
423
+ end