lob 5.4.6 → 6.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CODE_SNIPPETS.md +1871 -0
- data/Gemfile +6 -1
- data/Gemfile.lock +70 -0
- data/LICENSE +21 -0
- data/MIGRATION.md +174 -0
- data/README.md +70 -97
- data/Rakefile +7 -5
- data/__tests__/Api/Address.unit.rb +210 -0
- data/__tests__/Api/BankAccount.unit.rb +244 -0
- data/__tests__/Api/BillingGroup.unit.rb +170 -0
- data/__tests__/Api/Card.unit.rb +183 -0
- data/__tests__/Api/CardOrder.unit.rb +89 -0
- data/__tests__/Api/Check.unit.rb +185 -0
- data/__tests__/Api/IntlAutocompletion.unit.rb +43 -0
- data/__tests__/Api/IntlVerification.unit.rb +71 -0
- data/__tests__/Api/Letter.unit.rb +191 -0
- data/__tests__/Api/Postcard.unit.rb +189 -0
- data/__tests__/Api/Require.unit.rb +21 -0
- data/__tests__/Api/ReverseGeocodeLookup.unit.rb +43 -0
- data/__tests__/Api/SelfMailer.unit.rb +190 -0
- data/__tests__/Api/Template.unit.rb +165 -0
- data/__tests__/Api/TemplateVersion.unit.rb +165 -0
- data/__tests__/Api/UsAutocompletion.unit.rb +42 -0
- data/__tests__/Api/UsVerification.unit.rb +71 -0
- data/__tests__/Api/ZipLookup.unit.rb +42 -0
- data/__tests__/Integration/Address.spec.rb +200 -0
- data/__tests__/Integration/BankAccount.spec.rb +243 -0
- data/__tests__/Integration/BillingGroup.spec.rb +163 -0
- data/__tests__/Integration/Card.spec.rb +198 -0
- data/__tests__/Integration/CardOrder.spec.rb +122 -0
- data/__tests__/Integration/Check.spec.rb +361 -0
- data/__tests__/Integration/IntlAutocompletion.spec.rb +54 -0
- data/__tests__/Integration/IntlVerification.spec.rb +90 -0
- data/__tests__/Integration/Letter.spec.rb +286 -0
- data/__tests__/Integration/Postcard.spec.rb +214 -0
- data/__tests__/Integration/ReverseGeocodeLookup.spec.rb +30 -0
- data/__tests__/Integration/SelfMailer.spec.rb +270 -0
- data/__tests__/Integration/Template.spec.rb +221 -0
- data/__tests__/Integration/TemplateVersion.spec.rb +275 -0
- data/__tests__/Integration/UsAutocompletion.spec.rb +54 -0
- data/__tests__/Integration/UsVerification.spec.rb +102 -0
- data/__tests__/Integration/ZipLookup.spec.rb +29 -0
- data/__tests__/TestFixtures.rb +36 -0
- data/docs/Address.md +52 -0
- data/docs/AddressDeletion.md +22 -0
- data/docs/AddressDomestic.md +40 -0
- data/docs/AddressDomesticExpanded.md +40 -0
- data/docs/AddressEditable.md +40 -0
- data/docs/AddressList.md +28 -0
- data/docs/AddressesApi.md +303 -0
- data/docs/BankAccount.md +44 -0
- data/docs/BankAccountDeletion.md +22 -0
- data/docs/BankAccountList.md +28 -0
- data/docs/BankAccountVerify.md +18 -0
- data/docs/BankAccountWritable.md +28 -0
- data/docs/BankAccountsApi.md +376 -0
- data/docs/BankTypeEnum.md +15 -0
- data/docs/BillingGroup.md +28 -0
- data/docs/BillingGroupEditable.md +20 -0
- data/docs/BillingGroupList.md +26 -0
- data/docs/BillingGroupsApi.md +305 -0
- data/docs/Buckslip.md +60 -0
- data/docs/BuckslipDeletion.md +20 -0
- data/docs/BuckslipEditable.md +24 -0
- data/docs/BuckslipOrder.md +42 -0
- data/docs/BuckslipOrderEditable.md +18 -0
- data/docs/BuckslipOrdersApi.md +157 -0
- data/docs/BuckslipOrdersList.md +26 -0
- data/docs/BuckslipUpdatable.md +22 -0
- data/docs/BuckslipsApi.md +372 -0
- data/docs/BuckslipsList.md +28 -0
- data/docs/BulkError.md +18 -0
- data/docs/BulkErrorProperties.md +20 -0
- data/docs/Campaign.md +52 -0
- data/docs/CampaignCreative.md +42 -0
- data/docs/CampaignDeletion.md +20 -0
- data/docs/CampaignUpdatable.md +36 -0
- data/docs/CampaignWritable.md +36 -0
- data/docs/CampaignsApi.md +376 -0
- data/docs/CampaignsList.md +28 -0
- data/docs/Card.md +54 -0
- data/docs/CardDeletion.md +22 -0
- data/docs/CardEditable.md +24 -0
- data/docs/CardList.md +28 -0
- data/docs/CardOrder.md +42 -0
- data/docs/CardOrderEditable.md +18 -0
- data/docs/CardOrderList.md +26 -0
- data/docs/CardOrdersApi.md +157 -0
- data/docs/CardUpdatable.md +22 -0
- data/docs/CardsApi.md +372 -0
- data/docs/Check.md +68 -0
- data/docs/CheckDeletion.md +22 -0
- data/docs/CheckEditable.md +48 -0
- data/docs/CheckList.md +28 -0
- data/docs/ChecksApi.md +315 -0
- data/docs/CmpScheduleType.md +15 -0
- data/docs/CmpUseType.md +15 -0
- data/docs/CountryExtended.md +15 -0
- data/docs/CountryExtendedExpanded.md +15 -0
- data/docs/CreativePatch.md +22 -0
- data/docs/CreativeResponse.md +42 -0
- data/docs/CreativeWritable.md +34 -0
- data/docs/CreativesApi.md +226 -0
- data/docs/CustomEnvelopeReturned.md +22 -0
- data/docs/DefaultApi.md +75 -0
- data/docs/DeliverabilityAnalysis.md +34 -0
- data/docs/DpvFootnote.md +15 -0
- data/docs/EngineHtml.md +15 -0
- data/docs/EventType.md +24 -0
- data/docs/Events.md +28 -0
- data/docs/Export.md +32 -0
- data/docs/ExportModel.md +18 -0
- data/docs/GeocodeAddresses.md +20 -0
- data/docs/GeocodeComponents.md +20 -0
- data/docs/HTTPValidationError.md +18 -0
- data/docs/IdentityValidation.md +34 -0
- data/docs/IdentityValidationApi.md +78 -0
- data/docs/InlineObject.md +18 -0
- data/docs/IntlAutocompletions.md +20 -0
- data/docs/IntlAutocompletionsApi.md +82 -0
- data/docs/IntlAutocompletionsWritable.md +26 -0
- data/docs/IntlComponents.md +26 -0
- data/docs/IntlSuggestions.md +30 -0
- data/docs/IntlVerification.md +38 -0
- data/docs/IntlVerificationOrError.md +40 -0
- data/docs/IntlVerificationWritable.md +32 -0
- data/docs/IntlVerifications.md +20 -0
- data/docs/IntlVerificationsApi.md +153 -0
- data/docs/IntlVerificationsPayload.md +18 -0
- data/docs/Letter.md +72 -0
- data/docs/LetterCustomEnvelope.md +22 -0
- data/docs/LetterDeletion.md +22 -0
- data/docs/LetterDetailsReturned.md +36 -0
- data/docs/LetterDetailsWritable.md +32 -0
- data/docs/LetterEditable.md +52 -0
- data/docs/LetterList.md +28 -0
- data/docs/LettersApi.md +317 -0
- data/docs/LobConfidenceScore.md +20 -0
- data/docs/LobError.md +22 -0
- data/docs/Location.md +20 -0
- data/docs/LocationAnalysis.md +22 -0
- data/docs/MailType.md +15 -0
- data/docs/MultiLineAddress.md +32 -0
- data/docs/MultipleComponents.md +30 -0
- data/docs/MultipleComponentsIntl.md +30 -0
- data/docs/MultipleComponentsList.md +18 -0
- data/docs/PlaceholderModel.md +28 -0
- data/docs/Postcard.md +60 -0
- data/docs/PostcardDeletion.md +22 -0
- data/docs/PostcardDetailsReturned.md +26 -0
- data/docs/PostcardDetailsWritable.md +20 -0
- data/docs/PostcardEditable.md +40 -0
- data/docs/PostcardList.md +28 -0
- data/docs/PostcardSize.md +15 -0
- data/docs/PostcardsApi.md +317 -0
- data/docs/QrCode.md +30 -0
- data/docs/ReturnEnvelope.md +24 -0
- data/docs/ReverseGeocode.md +22 -0
- data/docs/ReverseGeocodeLookupsApi.md +82 -0
- data/docs/SelfMailer.md +48 -0
- data/docs/SelfMailerDeletion.md +22 -0
- data/docs/SelfMailerEditable.md +38 -0
- data/docs/SelfMailerList.md +28 -0
- data/docs/SelfMailerSize.md +15 -0
- data/docs/SelfMailersApi.md +317 -0
- data/docs/SortBy.md +20 -0
- data/docs/SortBy1.md +20 -0
- data/docs/SortBy2.md +20 -0
- data/docs/SortBy3.md +20 -0
- data/docs/SortByDateModified.md +20 -0
- data/docs/Suggestions.md +26 -0
- data/docs/Template.md +34 -0
- data/docs/TemplateDeletion.md +22 -0
- data/docs/TemplateList.md +28 -0
- data/docs/TemplateUpdate.md +20 -0
- data/docs/TemplateVersion.md +36 -0
- data/docs/TemplateVersionDeletion.md +22 -0
- data/docs/TemplateVersionList.md +28 -0
- data/docs/TemplateVersionUpdatable.md +20 -0
- data/docs/TemplateVersionWritable.md +22 -0
- data/docs/TemplateVersionsApi.md +384 -0
- data/docs/TemplateWritable.md +24 -0
- data/docs/TemplatesApi.md +376 -0
- data/docs/Thumbnail.md +22 -0
- data/docs/TrackingEventCertified.md +34 -0
- data/docs/TrackingEventDetails.md +24 -0
- data/docs/TrackingEventNormal.md +34 -0
- data/docs/Upload.md +44 -0
- data/docs/UploadCreateExport.md +20 -0
- data/docs/UploadFile.md +20 -0
- data/docs/UploadState.md +15 -0
- data/docs/UploadUpdatable.md +20 -0
- data/docs/UploadWritable.md +18 -0
- data/docs/UploadsApi.md +584 -0
- data/docs/UsAutocompletions.md +22 -0
- data/docs/UsAutocompletionsApi.md +78 -0
- data/docs/UsAutocompletionsWritable.md +26 -0
- data/docs/UsComponents.md +68 -0
- data/docs/UsVerification.md +38 -0
- data/docs/UsVerificationOrError.md +40 -0
- data/docs/UsVerifications.md +20 -0
- data/docs/UsVerificationsApi.md +157 -0
- data/docs/UsVerificationsWritable.md +32 -0
- data/docs/ValidationError.md +22 -0
- data/docs/Zip.md +26 -0
- data/docs/ZipCodeType.md +15 -0
- data/docs/ZipEditable.md +18 -0
- data/docs/ZipLookupCity.md +26 -0
- data/docs/ZipLookupsApi.md +78 -0
- data/git_push.sh +57 -0
- data/lib/lob.rb +1 -7
- data/lib/openapi_client/api/addresses_api.rb +318 -0
- data/lib/openapi_client/api/bank_accounts_api.rb +397 -0
- data/lib/openapi_client/api/billing_groups_api.rb +320 -0
- data/lib/openapi_client/api/buckslip_orders_api.rb +183 -0
- data/lib/openapi_client/api/buckslips_api.rb +382 -0
- data/lib/openapi_client/api/campaigns_api.rb +389 -0
- data/lib/openapi_client/api/card_orders_api.rb +183 -0
- data/lib/openapi_client/api/cards_api.rb +382 -0
- data/lib/openapi_client/api/checks_api.rb +337 -0
- data/lib/openapi_client/api/creatives_api.rb +244 -0
- data/lib/openapi_client/api/default_api.rb +79 -0
- data/lib/openapi_client/api/identity_validation_api.rb +90 -0
- data/lib/openapi_client/api/intl_autocompletions_api.rb +97 -0
- data/lib/openapi_client/api/intl_verifications_api.rb +165 -0
- data/lib/openapi_client/api/letters_api.rb +340 -0
- data/lib/openapi_client/api/postcards_api.rb +340 -0
- data/lib/openapi_client/api/reverse_geocode_lookups_api.rb +101 -0
- data/lib/openapi_client/api/self_mailers_api.rb +340 -0
- data/lib/openapi_client/api/template_versions_api.rb +440 -0
- data/lib/openapi_client/api/templates_api.rb +397 -0
- data/lib/openapi_client/api/uploads_api.rb +604 -0
- data/lib/openapi_client/api/us_autocompletions_api.rb +90 -0
- data/lib/openapi_client/api/us_verifications_api.rb +172 -0
- data/lib/openapi_client/api/zip_lookups_api.rb +90 -0
- data/lib/openapi_client/api_client.rb +392 -0
- data/lib/openapi_client/api_error.rb +57 -0
- data/lib/openapi_client/configuration.rb +279 -0
- data/lib/openapi_client/models/address.rb +616 -0
- data/lib/openapi_client/models/address_deletion.rb +303 -0
- data/lib/openapi_client/models/address_domestic.rb +522 -0
- data/lib/openapi_client/models/address_domestic_expanded.rb +521 -0
- data/lib/openapi_client/models/address_editable.rb +503 -0
- data/lib/openapi_client/models/address_list.rb +324 -0
- data/lib/openapi_client/models/bank_account.rb +576 -0
- data/lib/openapi_client/models/bank_account_deletion.rb +303 -0
- data/lib/openapi_client/models/bank_account_list.rb +324 -0
- data/lib/openapi_client/models/bank_account_verify.rb +264 -0
- data/lib/openapi_client/models/bank_account_writable.rb +387 -0
- data/lib/openapi_client/models/bank_type_enum.rb +37 -0
- data/lib/openapi_client/models/billing_group.rb +395 -0
- data/lib/openapi_client/models/billing_group_editable.rb +278 -0
- data/lib/openapi_client/models/billing_group_list.rb +314 -0
- data/lib/openapi_client/models/buckslip.rb +814 -0
- data/lib/openapi_client/models/buckslip_deletion.rb +257 -0
- data/lib/openapi_client/models/buckslip_editable.rb +316 -0
- data/lib/openapi_client/models/buckslip_order.rb +438 -0
- data/lib/openapi_client/models/buckslip_order_editable.rb +262 -0
- data/lib/openapi_client/models/buckslip_orders_list.rb +312 -0
- data/lib/openapi_client/models/buckslip_updatable.rb +289 -0
- data/lib/openapi_client/models/buckslips_list.rb +324 -0
- data/lib/openapi_client/models/bulk_error.rb +229 -0
- data/lib/openapi_client/models/bulk_error_properties.rb +274 -0
- data/lib/openapi_client/models/campaign.rb +549 -0
- data/lib/openapi_client/models/campaign_creative.rb +467 -0
- data/lib/openapi_client/models/campaign_deletion.rb +257 -0
- data/lib/openapi_client/models/campaign_updatable.rb +341 -0
- data/lib/openapi_client/models/campaign_writable.rb +373 -0
- data/lib/openapi_client/models/campaigns_list.rb +324 -0
- data/lib/openapi_client/models/card.rb +681 -0
- data/lib/openapi_client/models/card_deletion.rb +303 -0
- data/lib/openapi_client/models/card_editable.rb +318 -0
- data/lib/openapi_client/models/card_list.rb +324 -0
- data/lib/openapi_client/models/card_order.rb +438 -0
- data/lib/openapi_client/models/card_order_editable.rb +261 -0
- data/lib/openapi_client/models/card_order_list.rb +273 -0
- data/lib/openapi_client/models/card_updatable.rb +289 -0
- data/lib/openapi_client/models/check.rb +812 -0
- data/lib/openapi_client/models/check_deletion.rb +303 -0
- data/lib/openapi_client/models/check_editable.rb +537 -0
- data/lib/openapi_client/models/check_list.rb +324 -0
- data/lib/openapi_client/models/chk_use_type.rb +38 -0
- data/lib/openapi_client/models/cmp_schedule_type.rb +36 -0
- data/lib/openapi_client/models/cmp_use_type.rb +38 -0
- data/lib/openapi_client/models/country_extended.rb +254 -0
- data/lib/openapi_client/models/country_extended_expanded.rb +255 -0
- data/lib/openapi_client/models/creative_patch.rb +274 -0
- data/lib/openapi_client/models/creative_response.rb +444 -0
- data/lib/openapi_client/models/creative_writable.rb +400 -0
- data/lib/openapi_client/models/custom_envelope_returned.rb +319 -0
- data/lib/openapi_client/models/deliverability_analysis.rb +451 -0
- data/lib/openapi_client/models/dpv_footnote.rb +50 -0
- data/lib/openapi_client/models/engine_html.rb +37 -0
- data/lib/openapi_client/models/event_type.rb +325 -0
- data/lib/openapi_client/models/events.rb +365 -0
- data/lib/openapi_client/models/export.rb +422 -0
- data/lib/openapi_client/models/export_model.rb +262 -0
- data/lib/openapi_client/models/geocode_addresses.rb +237 -0
- data/lib/openapi_client/models/geocode_components.rb +291 -0
- data/lib/openapi_client/models/http_validation_error.rb +230 -0
- data/lib/openapi_client/models/identity_validation.rb +460 -0
- data/lib/openapi_client/models/inline_object.rb +229 -0
- data/lib/openapi_client/models/intl_autocompletions.rb +282 -0
- data/lib/openapi_client/models/intl_autocompletions_writable.rb +278 -0
- data/lib/openapi_client/models/intl_components.rb +314 -0
- data/lib/openapi_client/models/intl_suggestions.rb +372 -0
- data/lib/openapi_client/models/intl_verification.rb +463 -0
- data/lib/openapi_client/models/intl_verification_or_error.rb +466 -0
- data/lib/openapi_client/models/intl_verification_writable.rb +388 -0
- data/lib/openapi_client/models/intl_verifications.rb +250 -0
- data/lib/openapi_client/models/intl_verifications_payload.rb +263 -0
- data/lib/openapi_client/models/letter.rb +737 -0
- data/lib/openapi_client/models/letter_custom_envelope.rb +300 -0
- data/lib/openapi_client/models/letter_deletion.rb +303 -0
- data/lib/openapi_client/models/letter_details_returned.rb +393 -0
- data/lib/openapi_client/models/letter_details_writable.rb +390 -0
- data/lib/openapi_client/models/letter_editable.rb +532 -0
- data/lib/openapi_client/models/letter_list.rb +324 -0
- data/lib/openapi_client/models/lob_confidence_score.rb +299 -0
- data/lib/openapi_client/models/lob_error.rb +296 -0
- data/lib/openapi_client/models/location.rb +289 -0
- data/lib/openapi_client/models/location_analysis.rb +305 -0
- data/lib/openapi_client/models/ltr_use_type.rb +38 -0
- data/lib/openapi_client/models/mail_type.rb +37 -0
- data/lib/openapi_client/models/multi_line_address.rb +431 -0
- data/lib/openapi_client/models/multiple_components.rb +405 -0
- data/lib/openapi_client/models/multiple_components_intl.rb +377 -0
- data/lib/openapi_client/models/multiple_components_list.rb +263 -0
- data/lib/openapi_client/models/optional_address_column_mapping.rb +259 -0
- data/lib/openapi_client/models/placeholder_model.rb +273 -0
- data/lib/openapi_client/models/postcard.rb +656 -0
- data/lib/openapi_client/models/postcard_deletion.rb +303 -0
- data/lib/openapi_client/models/postcard_details_returned.rb +321 -0
- data/lib/openapi_client/models/postcard_details_writable.rb +242 -0
- data/lib/openapi_client/models/postcard_editable.rb +393 -0
- data/lib/openapi_client/models/postcard_list.rb +324 -0
- data/lib/openapi_client/models/postcard_size.rb +38 -0
- data/lib/openapi_client/models/psc_use_type.rb +38 -0
- data/lib/openapi_client/models/qr_code.rb +339 -0
- data/lib/openapi_client/models/required_address_column_mapping.rb +285 -0
- data/lib/openapi_client/models/return_envelope.rb +258 -0
- data/lib/openapi_client/models/reverse_geocode.rb +304 -0
- data/lib/openapi_client/models/self_mailer.rb +584 -0
- data/lib/openapi_client/models/self_mailer_deletion.rb +303 -0
- data/lib/openapi_client/models/self_mailer_editable.rb +384 -0
- data/lib/openapi_client/models/self_mailer_list.rb +324 -0
- data/lib/openapi_client/models/self_mailer_size.rb +38 -0
- data/lib/openapi_client/models/sfm_use_type.rb +38 -0
- data/lib/openapi_client/models/sort_by.rb +283 -0
- data/lib/openapi_client/models/sort_by1.rb +283 -0
- data/lib/openapi_client/models/sort_by2.rb +283 -0
- data/lib/openapi_client/models/sort_by3.rb +283 -0
- data/lib/openapi_client/models/sort_by_date_modified.rb +283 -0
- data/lib/openapi_client/models/suggestions.rb +343 -0
- data/lib/openapi_client/models/template.rb +406 -0
- data/lib/openapi_client/models/template_deletion.rb +303 -0
- data/lib/openapi_client/models/template_list.rb +324 -0
- data/lib/openapi_client/models/template_update.rb +272 -0
- data/lib/openapi_client/models/template_version.rb +423 -0
- data/lib/openapi_client/models/template_version_deletion.rb +303 -0
- data/lib/openapi_client/models/template_version_list.rb +324 -0
- data/lib/openapi_client/models/template_version_updatable.rb +257 -0
- data/lib/openapi_client/models/template_version_writable.rb +291 -0
- data/lib/openapi_client/models/template_writable.rb +309 -0
- data/lib/openapi_client/models/thumbnail.rb +300 -0
- data/lib/openapi_client/models/tracking_event_certified.rb +419 -0
- data/lib/openapi_client/models/tracking_event_details.rb +308 -0
- data/lib/openapi_client/models/tracking_event_normal.rb +409 -0
- data/lib/openapi_client/models/upload.rb +498 -0
- data/lib/openapi_client/models/upload_create_export.rb +283 -0
- data/lib/openapi_client/models/upload_file.rb +283 -0
- data/lib/openapi_client/models/upload_state.rb +42 -0
- data/lib/openapi_client/models/upload_updatable.rb +267 -0
- data/lib/openapi_client/models/upload_writable.rb +271 -0
- data/lib/openapi_client/models/uploads_metadata.rb +237 -0
- data/lib/openapi_client/models/us_autocompletions.rb +328 -0
- data/lib/openapi_client/models/us_autocompletions_writable.rb +274 -0
- data/lib/openapi_client/models/us_components.rb +761 -0
- data/lib/openapi_client/models/us_verification.rb +461 -0
- data/lib/openapi_client/models/us_verification_or_error.rb +459 -0
- data/lib/openapi_client/models/us_verifications.rb +250 -0
- data/lib/openapi_client/models/us_verifications_writable.rb +421 -0
- data/lib/openapi_client/models/validation_error.rb +263 -0
- data/lib/openapi_client/models/zip.rb +363 -0
- data/lib/openapi_client/models/zip_code_type.rb +40 -0
- data/lib/openapi_client/models/zip_editable.rb +246 -0
- data/lib/openapi_client/models/zip_lookup_city.rb +331 -0
- data/lib/openapi_client/version.rb +15 -0
- data/lib/openapi_client.rb +212 -0
- data/openapi_client.gemspec +37 -0
- data/spec/api/addresses_api_spec.rb +88 -0
- data/spec/api/bank_accounts_api_spec.rb +101 -0
- data/spec/api/billing_groups_api_spec.rb +89 -0
- data/spec/api/campaigns_api_spec.rb +100 -0
- data/spec/api/card_orders_api_spec.rb +62 -0
- data/spec/api/cards_api_spec.rb +99 -0
- data/spec/api/checks_api_spec.rb +93 -0
- data/spec/api/creatives_api_spec.rb +73 -0
- data/spec/api/default_api_spec.rb +46 -0
- data/spec/api/identity_validation_api_spec.rb +47 -0
- data/spec/api/intl_autocompletions_api_spec.rb +48 -0
- data/spec/api/intl_verifications_api_spec.rb +60 -0
- data/spec/api/letters_api_spec.rb +94 -0
- data/spec/api/postcards_api_spec.rb +94 -0
- data/spec/api/reverse_geocode_lookups_api_spec.rb +48 -0
- data/spec/api/self_mailers_api_spec.rb +94 -0
- data/spec/api/template_versions_api_spec.rb +105 -0
- data/spec/api/templates_api_spec.rb +101 -0
- data/spec/api/uploads_api_spec.rb +135 -0
- data/spec/api/us_autocompletions_api_spec.rb +47 -0
- data/spec/api/us_verifications_api_spec.rb +61 -0
- data/spec/api/zip_lookups_api_spec.rb +47 -0
- data/spec/api_client_spec.rb +226 -0
- data/spec/configuration_spec.rb +42 -0
- data/spec/spec_helper.rb +105 -13
- metadata +450 -214
- data/.github/workflows/forked_tests_job.yml +0 -36
- data/.github/workflows/run_tests_job.yml +0 -32
- data/.github/workflows/update_gem.yml +0 -27
- data/.gitignore +0 -19
- data/CHANGELOG.md +0 -148
- data/CONTRIBUTING.md +0 -19
- data/LICENSE.txt +0 -22
- data/examples/README.md +0 -119
- data/examples/cards.rb +0 -51
- data/examples/checks.rb +0 -49
- data/examples/csv_checks/create_checks.rb +0 -48
- data/examples/csv_checks/input.csv +0 -6
- data/examples/csv_letters/create_letters.rb +0 -41
- data/examples/csv_letters/input.csv +0 -6
- data/examples/csv_letters/letter_template.html +0 -33
- data/examples/csv_postcards/create_postcards.rb +0 -46
- data/examples/csv_postcards/input.csv +0 -7
- data/examples/csv_postcards/postcard_back.html +0 -38
- data/examples/csv_postcards/postcard_front.html +0 -25
- data/examples/csv_verify/input.csv +0 -7
- data/examples/csv_verify/verify.rb +0 -37
- data/examples/letters.rb +0 -73
- data/examples/list_postcards_metadata.rb +0 -94
- data/examples/postcards.rb +0 -87
- data/examples/postcards_idempotent.rb +0 -92
- data/examples/postcards_intl.rb +0 -87
- data/examples/postcards_remote.rb +0 -87
- data/examples/postcards_send_date.rb +0 -97
- data/examples/postcards_template.rb +0 -98
- data/examples/self_mailers.rb +0 -38
- data/lib/lob/client.rb +0 -96
- data/lib/lob/errors/invalid_request_error.rb +0 -4
- data/lib/lob/errors/lob_error.rb +0 -20
- data/lib/lob/resources/address.rb +0 -14
- data/lib/lob/resources/bank_account.rb +0 -30
- data/lib/lob/resources/bulk_intl_verifications.rb +0 -27
- data/lib/lob/resources/bulk_us_verifications.rb +0 -28
- data/lib/lob/resources/card.rb +0 -46
- data/lib/lob/resources/check.rb +0 -14
- data/lib/lob/resources/group.rb +0 -14
- data/lib/lob/resources/groups_member.rb +0 -66
- data/lib/lob/resources/intl_verifications.rb +0 -26
- data/lib/lob/resources/letter.rb +0 -14
- data/lib/lob/resources/postcard.rb +0 -14
- data/lib/lob/resources/resource_base.rb +0 -150
- data/lib/lob/resources/self_mailer.rb +0 -14
- data/lib/lob/resources/us_autocompletions.rb +0 -26
- data/lib/lob/resources/us_reverse_geocode_lookups.rb +0 -26
- data/lib/lob/resources/us_verifications.rb +0 -27
- data/lib/lob/resources/us_zip_lookups.rb +0 -26
- data/lib/lob/version.rb +0 -3
- data/lob.gemspec +0 -31
- data/spec/lob/errors/lob_error_spec.rb +0 -19
- data/spec/lob/resources/address_spec.rb +0 -55
- data/spec/lob/resources/bank_account_spec.rb +0 -60
- data/spec/lob/resources/bulk_intl_verifications_spec.rb +0 -39
- data/spec/lob/resources/bulk_us_verifications_spec.rb +0 -51
- data/spec/lob/resources/card_spec.rb +0 -145
- data/spec/lob/resources/check_spec.rb +0 -119
- data/spec/lob/resources/group_spec.rb +0 -50
- data/spec/lob/resources/intl_verifications_spec.rb +0 -25
- data/spec/lob/resources/letter_spec.rb +0 -114
- data/spec/lob/resources/member_spec.rb +0 -65
- data/spec/lob/resources/postcard_spec.rb +0 -160
- data/spec/lob/resources/resource_base_spec.rb +0 -75
- data/spec/lob/resources/self_mailer_spec.rb +0 -177
- data/spec/lob/resources/us_autocompletions_spec.rb +0 -24
- data/spec/lob/resources/us_reverse_geocode_lookups_spec.rb +0 -22
- data/spec/lob/resources/us_verifications_spec.rb +0 -31
- data/spec/lob/resources/us_zip_lookups_spec.rb +0 -23
- data/spec/lob_spec.rb +0 -48
- data/spec/samples/8.5x11.pdf +0 -0
- data/spec/samples/card.pdf +1 -743
- data/spec/samples/postcardback.pdf +2 -2287
- data/spec/samples/postcardfront.pdf +1 -1549
- data/spec/samples/sfm-12x9-inside.pdf +0 -0
- data/spec/samples/sfm-12x9-outside.pdf +0 -0
- data/spec/samples/sfm-6x18-inside.pdf +0 -0
- data/spec/samples/sfm-6x18-outside.pdf +0 -0
data/Gemfile
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
lob (6.0.2)
|
5
|
+
typhoeus (~> 1.0, >= 1.0.1)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
ast (2.4.2)
|
11
|
+
byebug (11.1.3)
|
12
|
+
coderay (1.1.3)
|
13
|
+
diff-lcs (1.5.0)
|
14
|
+
ethon (0.16.0)
|
15
|
+
ffi (>= 1.15.0)
|
16
|
+
ffi (1.15.5)
|
17
|
+
jaro_winkler (1.5.4)
|
18
|
+
method_source (1.0.0)
|
19
|
+
parallel (1.22.1)
|
20
|
+
parser (3.2.1.0)
|
21
|
+
ast (~> 2.4.1)
|
22
|
+
pry (0.14.2)
|
23
|
+
coderay (~> 1.1)
|
24
|
+
method_source (~> 1.0)
|
25
|
+
pry-byebug (3.10.1)
|
26
|
+
byebug (~> 11.0)
|
27
|
+
pry (>= 0.13, < 0.15)
|
28
|
+
psych (5.1.0)
|
29
|
+
stringio
|
30
|
+
rainbow (3.1.1)
|
31
|
+
rake (13.0.6)
|
32
|
+
rspec (3.12.0)
|
33
|
+
rspec-core (~> 3.12.0)
|
34
|
+
rspec-expectations (~> 3.12.0)
|
35
|
+
rspec-mocks (~> 3.12.0)
|
36
|
+
rspec-core (3.12.1)
|
37
|
+
rspec-support (~> 3.12.0)
|
38
|
+
rspec-expectations (3.12.2)
|
39
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
40
|
+
rspec-support (~> 3.12.0)
|
41
|
+
rspec-mocks (3.12.3)
|
42
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
43
|
+
rspec-support (~> 3.12.0)
|
44
|
+
rspec-support (3.12.0)
|
45
|
+
rubocop (0.66.0)
|
46
|
+
jaro_winkler (~> 1.5.1)
|
47
|
+
parallel (~> 1.10)
|
48
|
+
parser (>= 2.5, != 2.5.1.1)
|
49
|
+
psych (>= 3.1.0)
|
50
|
+
rainbow (>= 2.2.2, < 4.0)
|
51
|
+
ruby-progressbar (~> 1.7)
|
52
|
+
unicode-display_width (>= 1.4.0, < 1.6)
|
53
|
+
ruby-progressbar (1.11.0)
|
54
|
+
stringio (3.0.5)
|
55
|
+
typhoeus (1.4.0)
|
56
|
+
ethon (>= 0.9.0)
|
57
|
+
unicode-display_width (1.5.0)
|
58
|
+
|
59
|
+
PLATFORMS
|
60
|
+
x86_64-linux
|
61
|
+
|
62
|
+
DEPENDENCIES
|
63
|
+
lob!
|
64
|
+
pry-byebug
|
65
|
+
rake (~> 13.0.1)
|
66
|
+
rspec (~> 3.6, >= 3.6.0)
|
67
|
+
rubocop (~> 0.66.0)
|
68
|
+
|
69
|
+
BUNDLED WITH
|
70
|
+
2.4.7
|
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2022 Lob
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
+
SOFTWARE.
|
data/MIGRATION.md
ADDED
@@ -0,0 +1,174 @@
|
|
1
|
+
# Migrate from version < v6.0.0
|
2
|
+
|
3
|
+
This guide illustrates differences between Lob’s the legacy versions of this SDK and the new current version.
|
4
|
+
|
5
|
+
In this guide we compare how `v5.*.*` and >= `v6.0.0` implement the following method pattern.
|
6
|
+
|
7
|
+
- CREATE
|
8
|
+
- LIST
|
9
|
+
- GET
|
10
|
+
- DELETE
|
11
|
+
- VERIFY (BANK ACCOUNTS)
|
12
|
+
- UPDATE
|
13
|
+
|
14
|
+
## INSTALL
|
15
|
+
|
16
|
+
Similar to the legacy version, the new lob-ruby SDK is available through `gem`:
|
17
|
+
|
18
|
+
```
|
19
|
+
$ gem install lob
|
20
|
+
```
|
21
|
+
|
22
|
+
## IMPORT AND INITIALIZE
|
23
|
+
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
require 'lob'
|
27
|
+
config = Lob::Configuration.default
|
28
|
+
config.username = ENV['LOB_API_TEST_KEY']
|
29
|
+
```
|
30
|
+
You then instantiate the specific resource API that you need access to as follows:
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
api = Lob::ApiClient.new(config)
|
34
|
+
addressApi = AddressesApi.new(@api)
|
35
|
+
|
36
|
+
```
|
37
|
+
|
38
|
+
## METHODS
|
39
|
+
|
40
|
+
The new SDK version abstracts the request/response interaction out of the calling code such that you create the resource and pass it to the corresponding API in a begin/rescue such that any non-success is an `ApiException` that must be handled.
|
41
|
+
|
42
|
+
### COMPARE CREATE METHODS
|
43
|
+
|
44
|
+
Here is a sample of the legacy lob-ruby CREATE function:
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
@lob.addresses.create(
|
48
|
+
description: 'Harry - Office',
|
49
|
+
name: 'Harry Zhang',
|
50
|
+
company: 'Lob',
|
51
|
+
email: 'harry@lob.com',
|
52
|
+
phone: '5555555555',
|
53
|
+
address_line1: '210 King St',
|
54
|
+
address_line2: '# 6100',
|
55
|
+
address_city: 'San Francisco',
|
56
|
+
address_state: 'CA',
|
57
|
+
address_country: 'US',
|
58
|
+
address_zip: '94107'
|
59
|
+
)
|
60
|
+
```
|
61
|
+
|
62
|
+
Here is a sample of the updated CREATE method
|
63
|
+
|
64
|
+
```ruby
|
65
|
+
addressEditable = AddressEditable.new({
|
66
|
+
name: 'Thing T. Thing',
|
67
|
+
address_line1: '1313 CEMETERY LN',
|
68
|
+
address_city: 'WESTFIELD',
|
69
|
+
address_state: 'NJ',
|
70
|
+
address_zip: '07000',
|
71
|
+
})
|
72
|
+
|
73
|
+
begin
|
74
|
+
response = @addressApi.create(addressEditable)
|
75
|
+
rescue => e
|
76
|
+
puts 'An error of has occcured, message is #{e.message}'
|
77
|
+
end
|
78
|
+
```
|
79
|
+
|
80
|
+
### COMPARE LIST METHODS
|
81
|
+
|
82
|
+
Here is a sample of the legacy lob-ruby LIST method:
|
83
|
+
|
84
|
+
```ruby
|
85
|
+
@lob.addresses.list(limit: 2)
|
86
|
+
```
|
87
|
+
|
88
|
+
Here is a sample of the updated LIST method:
|
89
|
+
|
90
|
+
```ruby
|
91
|
+
begin
|
92
|
+
response = @addressApi.list()
|
93
|
+
rescue => e
|
94
|
+
puts 'An error of has occcured, message is #{e.message}'
|
95
|
+
end
|
96
|
+
```
|
97
|
+
|
98
|
+
### COMPARE GET BY ID METHOD
|
99
|
+
|
100
|
+
Here is a sample of the legacy lob-ruby GET method:
|
101
|
+
|
102
|
+
```ruby
|
103
|
+
@lob.addresses.find('adr_xxx')
|
104
|
+
|
105
|
+
```
|
106
|
+
|
107
|
+
Here is a sample of the updated GET method:
|
108
|
+
|
109
|
+
```ruby
|
110
|
+
begin
|
111
|
+
response = @addressApi.get('adr_xxx')
|
112
|
+
rescue => e
|
113
|
+
puts 'An error of has occcured, message is #{e.message}'
|
114
|
+
end
|
115
|
+
```
|
116
|
+
|
117
|
+
### COMPARE DELETE METHOD
|
118
|
+
|
119
|
+
Here is a sample of the legacy lob-ruby DELETE method:
|
120
|
+
|
121
|
+
```ruby
|
122
|
+
@lob.addresses.destroy('adr_xxx')
|
123
|
+
```
|
124
|
+
|
125
|
+
Here is a sample of the updated DELETE method:
|
126
|
+
|
127
|
+
```ruby
|
128
|
+
begin
|
129
|
+
response = @addressApi.delete('adr_xxx')
|
130
|
+
rescue => e
|
131
|
+
puts 'An error of has occcured, message is #{e.message}'
|
132
|
+
end
|
133
|
+
```
|
134
|
+
|
135
|
+
### COMPARE BANK ACCOUNT VERIFY
|
136
|
+
|
137
|
+
Here is a sample of the legacy lob-ruby BANK ACCOUNT VERIFY method:
|
138
|
+
|
139
|
+
```ruby
|
140
|
+
@lob.bank_accounts.verify('bank_xxx', amounts: [25, 63])
|
141
|
+
```
|
142
|
+
|
143
|
+
Here is a sample of the updated BANK ACCOUNT VERIFY method:
|
144
|
+
|
145
|
+
```ruby
|
146
|
+
bankVerify = BankAccountVerify.new({ 'amounts': [11, 35] })
|
147
|
+
begin
|
148
|
+
response = @bankAccountApi.verify('bank_xxx', bankVerify)
|
149
|
+
rescue => e
|
150
|
+
puts 'An error of has occcured, message is #{e.message}'
|
151
|
+
end
|
152
|
+
```
|
153
|
+
|
154
|
+
### COMPARE UPDATE METHOD
|
155
|
+
|
156
|
+
Here is a sample of the legacy lob-ruby UPDATE method:
|
157
|
+
|
158
|
+
```ruby
|
159
|
+
This feature was not supported by the legacy library.
|
160
|
+
```
|
161
|
+
|
162
|
+
Here is a sample of the updated UPDATE method:
|
163
|
+
|
164
|
+
```ruby
|
165
|
+
updatableTemplate = TemplateUpdate.new({
|
166
|
+
description: 'Updated template for Ruby Integration Test'
|
167
|
+
})
|
168
|
+
|
169
|
+
begin
|
170
|
+
updatedTemplate = @templateApi.update('tmpl_xxxx', updatableTemplate)
|
171
|
+
rescue => e
|
172
|
+
puts 'An error of has occcured, message is #{e.message}'
|
173
|
+
end
|
174
|
+
```
|
data/README.md
CHANGED
@@ -1,139 +1,112 @@
|
|
1
|
-
# lob-ruby
|
1
|
+
# lob-ruby-sdk
|
2
|
+
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.
|
2
3
|
|
3
|
-
[
|
4
|
-
[![Gem Version](https://badge.fury.io/rb/lob.svg)](https://badge.fury.io/rb/lob)
|
5
|
-
[![Coverage Status](https://coveralls.io/repos/lob/lob-ruby/badge.svg?branch=master)](https://coveralls.io/r/lob/lob-ruby?branch=master)
|
6
|
-
[![Downloads](https://ruby-gem-downloads-badge.herokuapp.com/lob?color=green&type=total)](https://rubygems.org/gems/lob)
|
4
|
+
This Ruby package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
7
5
|
|
8
|
-
|
6
|
+
- API version: 1.3.0
|
7
|
+
- Package version: 1.0.0
|
8
|
+
- Build package: org.openapitools.codegen.languages.RubyClientCodegen
|
9
|
+
For more information, please visit [https://support.lob.com/](https://support.lob.com/)
|
9
10
|
|
10
|
-
|
11
|
+
## Requirements
|
11
12
|
|
12
|
-
|
13
|
-
|
14
|
-
- [Table of Contents](#table-of-contents)
|
15
|
-
- [Getting Started](#getting-started)
|
16
|
-
- [Registration](#registration)
|
17
|
-
- [Installation](#installation)
|
18
|
-
- [Usage](#usage)
|
19
|
-
- [Initialization and Configuration](#initialization-and-configuration)
|
20
|
-
- [Caution: Pass zero-prefixed zip codes as strings](#caution-pass-zero-prefixed-zip-codes-as-strings)
|
21
|
-
- [Accessing Response Headers](#accessing-response-headers)
|
22
|
-
- [Examples](#examples)
|
23
|
-
- [API Documentation](#api-documentation)
|
24
|
-
- [Contributing](#contributing)
|
25
|
-
- [Testing](#testing)
|
13
|
+
Ruby
|
26
14
|
|
27
15
|
## Getting Started
|
28
16
|
|
29
|
-
Here's a general overview of the Lob services available, click through to read more.
|
30
|
-
|
31
|
-
- [Postcards API](https://lob.com/products/print-mail/postcards)
|
32
|
-
- [Letters API](https://lob.com/products/print-mail/letters)
|
33
|
-
- [Checks API](https://lob.com/products/print-mail/checks)
|
34
|
-
- [Address Verification API](https://lob.com/products/address-verification)
|
35
|
-
|
36
|
-
Please read through the official [API Documentation](#api-documentation) to get a complete sense of what to expect from each endpoint.
|
37
|
-
|
38
17
|
### Registration
|
39
18
|
|
40
19
|
First, you will need to first create an account at [Lob.com](https://dashboard.lob.com/#/register) and obtain your Test and Live API Keys.
|
41
20
|
|
42
21
|
Once you have created an account, you can access your API Keys from the [Settings Panel](https://dashboard.lob.com/#/settings).
|
43
22
|
|
44
|
-
### Installation
|
45
|
-
|
46
|
-
Add this line to your application's `Gemfile`:
|
47
|
-
|
48
|
-
gem 'lob'
|
49
|
-
|
50
|
-
And then execute:
|
51
|
-
|
52
|
-
$ bundle
|
53
|
-
|
54
|
-
Or manually install it yourself:
|
55
|
-
|
56
|
-
$ gem install lob
|
23
|
+
### Installation & Usage
|
57
24
|
|
58
|
-
|
59
|
-
|
60
|
-
The library uses an ActiveRecord-style interface. You'll feel right at home.
|
61
|
-
|
62
|
-
For optional parameters and other details, refer to the docs [here](https://lob.com/docs/ruby).
|
63
|
-
|
64
|
-
#### Initialization and Configuration
|
25
|
+
Install with the appropriate [package manager](https://www.ruby-lang.org/en/documentation/installation/#winget).
|
65
26
|
|
27
|
+
Then add Lob's Ruby SDK to your Gemfile
|
66
28
|
```ruby
|
67
|
-
|
68
|
-
lob = Lob::Client.new(api_key: "your-api-key")
|
69
|
-
|
70
|
-
# To initialize a Lob object with an older API version
|
71
|
-
lob = Lob::Client.new(api_key: "your-api-key", api_version: "2014-12-18")
|
72
|
-
|
73
|
-
# To initialize a Lob object that needs to communicate via a proxy
|
74
|
-
lob = Lob::Client.new(api_key: "your-api-key", proxy: "http://proxy.example.com)
|
29
|
+
gem install 'lob'
|
75
30
|
```
|
76
31
|
|
77
|
-
|
32
|
+
## First API Call
|
78
33
|
|
79
|
-
|
80
|
-
|
81
|
-
|
34
|
+
```ruby
|
35
|
+
require 'lob'
|
36
|
+
|
37
|
+
config = Lob::Configuration.default
|
38
|
+
config.username = ENV['LOB_API_TEST_KEY']
|
39
|
+
|
40
|
+
apiInstance = Lob::AddressesApi.new
|
41
|
+
addressEditable = Lob::AddressEditable.new({
|
42
|
+
description: "Harry - Office",
|
43
|
+
name: "Harry Zhang",
|
44
|
+
company: "Lob",
|
45
|
+
email: "harry@lob.com",
|
46
|
+
phone: "5555555555",
|
47
|
+
address_line1: "210 King St",
|
48
|
+
address_line2: "# 6100",
|
49
|
+
address_city: "San Francisco",
|
50
|
+
address_state: "CA",
|
51
|
+
address_zip: "94107",
|
52
|
+
address_country: "US",
|
53
|
+
});
|
82
54
|
|
83
|
-
|
55
|
+
begin
|
56
|
+
#create
|
57
|
+
result = apiInstance.create(addressEditable)
|
58
|
+
p result
|
59
|
+
rescue Lob::ApiError => e
|
60
|
+
puts "Exception when calling AddressesApi->create: #{e}"
|
61
|
+
end
|
62
|
+
```
|
84
63
|
|
85
|
-
|
64
|
+
## API Documentation
|
86
65
|
|
87
|
-
|
88
|
-
addresses = lob.addresses.list
|
66
|
+
The full and comprehensive documentation of Lob's APIs is available [here](https://docs.lob.com/).
|
89
67
|
|
90
|
-
|
91
|
-
# => "application/json; charset=utf-8"
|
68
|
+
## Testing
|
92
69
|
|
93
|
-
|
94
|
-
|
70
|
+
First, install [RSpec](https://rspec.info/) to run the tests. This can be done by running either of the following lines on your command line depending on whether you use Bundler:
|
71
|
+
```shell
|
72
|
+
$ bundle add rspec # with Bundler
|
95
73
|
|
96
|
-
|
97
|
-
# => "1234"
|
74
|
+
$ gem install rspec # without Bundler
|
98
75
|
```
|
99
76
|
|
100
|
-
|
77
|
+
### Unit Tests
|
101
78
|
|
102
|
-
```
|
103
|
-
|
104
|
-
lob.objects.create(name: "Test", file: "https://s3-us-west-2.amazonaws.com/public.lob.com/assets/incorrect_size.pdf", bad_param: "bad_value")
|
105
|
-
rescue Lob::InvalidRequestError => e
|
106
|
-
e._response.headers[:content_type]
|
107
|
-
# => "application/json; charset=utf-8"
|
108
|
-
end
|
79
|
+
```bash
|
80
|
+
$ rspec -P __tests__/Api/* --color --format doc
|
109
81
|
```
|
110
82
|
|
111
|
-
|
112
|
-
|
113
|
-
We've provided various examples for you to try out [here](https://github.com/lob/lob-ruby/tree/master/examples).
|
83
|
+
### Integration Tests
|
114
84
|
|
115
|
-
|
85
|
+
Integration tests run against a live deployment of the Lob API and require multiple valid API keys with access to specific features. As such, it is not expected that these tests will pass for every user in every environment.
|
116
86
|
|
117
|
-
|
118
|
-
|
119
|
-
The full and comprehensive documentation of Lob's APIs is available [here](https://docs.lob.com/).
|
87
|
+
To run integration tests:
|
120
88
|
|
121
|
-
|
89
|
+
```bash
|
90
|
+
$ LOB_API_TEST_KEY=<<YOUR TEST KEY>> LOB_API_LIVE_KEY=<<YOUR LIVE KEY>> rspec -P __tests__/Integration/* --color --format doc
|
91
|
+
```
|
122
92
|
|
123
|
-
|
93
|
+
#### A cleaner alternative if you are going to run integration tests frequently
|
124
94
|
|
125
|
-
|
95
|
+
Run this the first time:
|
126
96
|
|
127
|
-
|
128
|
-
|
129
|
-
|
97
|
+
```bash
|
98
|
+
$ echo "LOB_API_TEST_KEY=<<YOUR TEST KEY>> LOB_API_LIVE_KEY=<<YOUR LIVE KEY>>" > LOCAL.env
|
99
|
+
```
|
130
100
|
|
131
|
-
|
101
|
+
Then, to run the integration tests:
|
132
102
|
|
133
|
-
|
103
|
+
```bash
|
104
|
+
$ env $(cat LOCAL.env) rspec -P __tests__/Integration/* --color --format doc
|
105
|
+
```
|
134
106
|
|
135
107
|
=======================
|
136
108
|
|
137
|
-
Copyright
|
109
|
+
Copyright © 2022 Lob.com
|
110
|
+
|
111
|
+
Released under the MIT License, which can be found in the repository in [LICENSE.txt](https://github.com/lob/lob-go/blob/main/LICENSE.txt).
|
138
112
|
|
139
|
-
Released under the MIT License, which can be found in the repository in `LICENSE.txt`.
|
data/Rakefile
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
-
require "rake/testtask"
|
3
2
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
begin
|
4
|
+
require 'rspec/core/rake_task'
|
5
|
+
|
6
|
+
RSpec::Core::RakeTask.new(:spec)
|
7
|
+
task default: :spec
|
8
|
+
rescue LoadError
|
9
|
+
# no rspec available
|
8
10
|
end
|