smartystreets_ruby_sdk 6.4.0 → 6.5.0
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.
- checksums.yaml +4 -4
- data/.claude/settings.json +14 -0
- data/CLAUDE.md +70 -0
- data/Makefile +1 -1
- data/examples/international_autocomplete_example.rb +7 -6
- data/examples/international_example.rb +7 -6
- data/examples/international_postal_code_example.rb +5 -4
- data/examples/us_autocomplete_pro_example.rb +8 -12
- data/examples/us_enrichment_example.rb +3 -3
- data/examples/us_extract_example.rb +7 -6
- data/examples/us_reverse_geo_example.rb +7 -6
- data/examples/us_street_component_analysis_example.rb +2 -1
- data/examples/us_street_multiple_address_example.rb +7 -6
- data/examples/us_street_single_address_example.rb +7 -6
- data/examples/us_zipcode_multiple_lookup_example.rb +7 -6
- data/examples/us_zipcode_single_lookup_example.rb +7 -6
- data/lib/smartystreets_ruby_sdk/basic_auth_credentials.rb +14 -0
- data/lib/smartystreets_ruby_sdk/native_sender.rb +1 -0
- data/lib/smartystreets_ruby_sdk/request.rb +2 -1
- data/lib/smartystreets_ruby_sdk/us_enrichment/client.rb +0 -14
- data/lib/smartystreets_ruby_sdk/us_street/client.rb +10 -3
- data/lib/smartystreets_ruby_sdk/version.rb +1 -1
- data/lib/smartystreets_ruby_sdk.rb +1 -0
- metadata +5 -5
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/financial/attributes.rb +0 -137
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/financial/history_entry.rb +0 -64
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/financial/response.rb +0 -22
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4580e181f2c397b9abcf2c155562d3032f9bf3982b3e09cfba587d86013f9e16
|
|
4
|
+
data.tar.gz: 1640dbc717b3098f3f9e4f5883b3aa9879ef657cb1aeee4aac4747fce3b913db
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 44c218c01469fa611468c4aa448094954c7e3a6ebca1e0e662763d7c214406247cbd257e672b4d507008bd307fada6030b0f39eae0485ec9e5427ee60b8ad665
|
|
7
|
+
data.tar.gz: 569f4edfb672b87d3d4b165f74af82bcee8b45b43a41fcca24000a43da1509f07f0748479bd793695aac33827fd812a40b08cc61f254db1e2ae5fc70b6c9fffd
|
data/CLAUDE.md
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Build and Test Commands
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Run all tests
|
|
9
|
+
rake test
|
|
10
|
+
# or
|
|
11
|
+
make test
|
|
12
|
+
|
|
13
|
+
# Run a single test file
|
|
14
|
+
ruby -Ilib:test test/smartystreets_ruby_sdk/test_batch.rb
|
|
15
|
+
|
|
16
|
+
# Install dependencies
|
|
17
|
+
gem install minitest
|
|
18
|
+
|
|
19
|
+
# Build the gem (used by CI, requires VERSION env var)
|
|
20
|
+
make package
|
|
21
|
+
|
|
22
|
+
# Run all example scripts (requires SMARTY_AUTH_ID and SMARTY_AUTH_TOKEN env vars)
|
|
23
|
+
make examples
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Architecture
|
|
27
|
+
|
|
28
|
+
This is the official SmartyStreets Ruby SDK for address verification APIs. It uses pure Ruby with Net::HTTP (no external runtime dependencies).
|
|
29
|
+
|
|
30
|
+
### Core Design Patterns
|
|
31
|
+
|
|
32
|
+
**Builder Pattern**: `ClientBuilder` provides a fluent interface for configuring API clients:
|
|
33
|
+
```ruby
|
|
34
|
+
credentials = SmartyStreets::StaticCredentials.new(auth_id, auth_token)
|
|
35
|
+
client = SmartyStreets::ClientBuilder.new(credentials)
|
|
36
|
+
.retry_at_most(5)
|
|
37
|
+
.with_licenses(['us-rooftop-geocoding-cloud'])
|
|
38
|
+
.build_us_street_api_client
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Chain of Responsibility**: HTTP requests flow through a middleware chain of "Sender" objects. Each sender wraps an inner sender:
|
|
42
|
+
```
|
|
43
|
+
URLPrefixSender → LicenseSender → RetrySender → SigningSender → StatusCodeSender → NativeSender
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Key Components
|
|
47
|
+
|
|
48
|
+
- **lib/smartystreets_ruby_sdk.rb**: Main entry point, requires all modules
|
|
49
|
+
- **client_builder.rb**: Constructs sender chains and API clients
|
|
50
|
+
- **Sender classes**: Middleware for URL prefixing, retries, authentication, status code handling
|
|
51
|
+
- **API modules** (us_street/, us_zipcode/, international_street/, etc.): Each contains:
|
|
52
|
+
- `client.rb`: API client with `send_lookup()` and `send_batch()` methods
|
|
53
|
+
- `lookup.rb`: Input model (JSONAble mixin for serialization)
|
|
54
|
+
- Response classes (candidate.rb, result.rb, etc.)
|
|
55
|
+
|
|
56
|
+
### Supported APIs
|
|
57
|
+
|
|
58
|
+
- US Street, US ZipCode, US Autocomplete Pro, US Extract, US Reverse Geo, US Enrichment
|
|
59
|
+
- International Street, International Autocomplete, International Postal Code
|
|
60
|
+
|
|
61
|
+
### Test Structure
|
|
62
|
+
|
|
63
|
+
Tests use Minitest with mock objects in `test/mocks/`. Test files mirror the lib structure under `test/smartystreets_ruby_sdk/`.
|
|
64
|
+
|
|
65
|
+
### Adding New API Support
|
|
66
|
+
|
|
67
|
+
1. Create new directory under `lib/smartystreets_ruby_sdk/` with client, lookup, and response classes
|
|
68
|
+
2. Add `build_[api]_client` method to `client_builder.rb`
|
|
69
|
+
3. Add requires to main `smartystreets_ruby_sdk.rb`
|
|
70
|
+
4. Create corresponding test files and example script
|
data/Makefile
CHANGED
|
@@ -46,7 +46,7 @@ us_reverse_geo_api:
|
|
|
46
46
|
cd examples && ruby us_reverse_geo_example.rb
|
|
47
47
|
|
|
48
48
|
us_street_api:
|
|
49
|
-
cd examples && ruby us_street_single_address_example.rb && ruby us_street_multiple_address_example.rb && ruby
|
|
49
|
+
cd examples && ruby us_street_single_address_example.rb && ruby us_street_multiple_address_example.rb && ruby us_street_component_analysis_example.rb && ruby us_street_component_analysis_example.rb
|
|
50
50
|
|
|
51
51
|
us_zipcode_api:
|
|
52
52
|
cd examples && ruby us_zipcode_single_lookup_example.rb && ruby us_zipcode_multiple_lookup_example.rb
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/international_autocomplete/lookup'
|
|
5
6
|
require '../lib/smartystreets_ruby_sdk/international_autocomplete/client'
|
|
@@ -11,13 +12,13 @@ class InternationalAutocompleteExample
|
|
|
11
12
|
# key = 'Your SmartyStreets Auth Key here'
|
|
12
13
|
# referer = 'Your host name here'
|
|
13
14
|
# We recommend storing your secret keys in environment variables instead---it's safer!
|
|
14
|
-
key = ENV['SMARTY_AUTH_WEB']
|
|
15
|
-
referer = ENV['SMARTY_AUTH_REFERER']
|
|
16
|
-
credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
15
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
|
16
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
17
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
20
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
21
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
21
22
|
|
|
22
23
|
client = SmartyStreets::ClientBuilder.new(credentials).build_international_autocomplete_api_client
|
|
23
24
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/international_street/lookup'
|
|
5
6
|
|
|
@@ -10,13 +11,13 @@ class InternationalExample
|
|
|
10
11
|
# key = 'Your SmartyStreets Auth Key here'
|
|
11
12
|
# referer = 'Your host name here'
|
|
12
13
|
# We recommend storing your secret keys in environment variables instead---it's safer!
|
|
13
|
-
key = ENV['SMARTY_AUTH_WEB']
|
|
14
|
-
referer = ENV['SMARTY_AUTH_REFERER']
|
|
15
|
-
credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
14
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
|
15
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
16
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
19
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
20
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
20
21
|
|
|
21
22
|
client = SmartyStreets::ClientBuilder.new(credentials).build_international_street_api_client
|
|
22
23
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/international_postal_code/lookup'
|
|
5
6
|
|
|
@@ -12,11 +13,11 @@ class InternationalPostalCodeExample
|
|
|
12
13
|
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
13
14
|
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
14
15
|
|
|
15
|
-
id = ENV['
|
|
16
|
-
token = ENV['
|
|
17
|
-
credentials = SmartyStreets::
|
|
16
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
17
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
18
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
18
19
|
|
|
19
|
-
client = SmartyStreets::ClientBuilder.new(credentials).
|
|
20
|
+
client = SmartyStreets::ClientBuilder.new(credentials).build_international_postal_code_api_client
|
|
20
21
|
|
|
21
22
|
# Documentation for input fields can be found at:
|
|
22
23
|
# https://smartystreets.com/docs/cloud/international-postal-code-api
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/us_autocomplete_pro/lookup'
|
|
5
6
|
|
|
@@ -10,18 +11,13 @@ class USAutocompleteProExample
|
|
|
10
11
|
# key = 'Your SmartyStreets Auth Key here'
|
|
11
12
|
# referer = 'Your host name here'
|
|
12
13
|
# We recommend storing your secret keys in environment variables instead---it's safer!
|
|
13
|
-
key = ENV['SMARTY_AUTH_WEB']
|
|
14
|
-
referer = ENV['SMARTY_AUTH_REFERER']
|
|
15
|
-
credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
# auth_id = ENV['SMARTY_AUTH_ID']
|
|
22
|
-
# auth_token = ENV['SMARTY_AUTH_TOKEN']
|
|
23
|
-
#
|
|
24
|
-
# credentials = SmartyStreets::StaticCredentials.new(auth_id, auth_token)
|
|
14
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
|
15
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
16
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
17
|
+
|
|
18
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
19
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
20
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
25
21
|
|
|
26
22
|
client = SmartyStreets::ClientBuilder.new(credentials).build_us_autocomplete_pro_api_client
|
|
27
23
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/us_enrichment/lookup'
|
|
5
6
|
|
|
@@ -14,7 +15,7 @@ class USEnrichmentAddressExample
|
|
|
14
15
|
|
|
15
16
|
id = ENV['SMARTY_AUTH_ID']
|
|
16
17
|
token = ENV['SMARTY_AUTH_TOKEN']
|
|
17
|
-
credentials = SmartyStreets::
|
|
18
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
18
19
|
|
|
19
20
|
# The appropriate license values to be used for your subscriptions
|
|
20
21
|
# can be found on the Subscriptions page of the account dashboard.
|
|
@@ -52,9 +53,8 @@ class USEnrichmentAddressExample
|
|
|
52
53
|
# Uncomment the following lines to perform other types of lookups:
|
|
53
54
|
result = client.send_property_principal_lookup(lookup) # Using address components
|
|
54
55
|
# result = client.send_property_principal_lookup(freeform_lookup) # Using freeform address
|
|
55
|
-
|
|
56
|
+
|
|
56
57
|
# Access the other Enrichment datasets using the below functions. All of these functions can take a lookup or a smartykey
|
|
57
|
-
# result = client.send_property_financial_lookup("325023201")
|
|
58
58
|
# result = client.send_geo_reference_lookup("325023201")
|
|
59
59
|
# result = client.send_risk_lookup("325023201")
|
|
60
60
|
# result = client.send_secondary_lookup("325023201")
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/us_extract/lookup'
|
|
5
6
|
require '../lib/smartystreets_ruby_sdk/us_street/match_type'
|
|
@@ -12,13 +13,13 @@ class USExtractExample
|
|
|
12
13
|
# key = 'Your SmartyStreets Auth Key here'
|
|
13
14
|
# referer = 'Your host name here'
|
|
14
15
|
# We recommend storing your secret keys in environment variables instead---it's safer!
|
|
15
|
-
key = ENV['SMARTY_AUTH_WEB']
|
|
16
|
-
referer = ENV['SMARTY_AUTH_REFERER']
|
|
17
|
-
credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
16
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
|
17
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
18
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
21
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
22
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
22
23
|
|
|
23
24
|
client = SmartyStreets::ClientBuilder.new(credentials).build_us_extract_api_client
|
|
24
25
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/us_reverse_geo/lookup'
|
|
5
6
|
|
|
@@ -10,13 +11,13 @@ class USReverseGeoExample
|
|
|
10
11
|
# key = 'Your SmartyStreets Auth Key here'
|
|
11
12
|
# referer = 'Your host name here'
|
|
12
13
|
# We recommend storing your secret keys in environment variables instead---it's safer!
|
|
13
|
-
key = ENV['SMARTY_AUTH_WEB']
|
|
14
|
-
referer = ENV['SMARTY_AUTH_REFERER']
|
|
15
|
-
credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
14
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
|
15
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
16
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
19
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
20
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
20
21
|
|
|
21
22
|
client = SmartyStreets::ClientBuilder.new(credentials).build_us_reverse_geo_api_client
|
|
22
23
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/us_street/lookup'
|
|
5
6
|
require '../lib/smartystreets_ruby_sdk/us_street/match_type'
|
|
@@ -14,7 +15,7 @@ class USStreetComponentAnalysisExample
|
|
|
14
15
|
# For server-to-server requests, use this code:
|
|
15
16
|
id = ENV['SMARTY_AUTH_ID']
|
|
16
17
|
token = ENV['SMARTY_AUTH_TOKEN']
|
|
17
|
-
credentials = SmartyStreets::
|
|
18
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
18
19
|
|
|
19
20
|
client = SmartyStreets::ClientBuilder.new(credentials)
|
|
20
21
|
.with_feature_component_analysis() # To add component analysis feature you need to specify when you create the client.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/batch'
|
|
5
6
|
require '../lib/smartystreets_ruby_sdk/us_street/lookup'
|
|
@@ -12,13 +13,13 @@ class USStreetMultipleAddressExample
|
|
|
12
13
|
# key = 'Your SmartyStreets Auth Key here'
|
|
13
14
|
# referer = 'Your host name here'
|
|
14
15
|
# We recommend storing your secret keys in environment variables instead---it's safer!
|
|
15
|
-
key = ENV['SMARTY_AUTH_WEB']
|
|
16
|
-
referer = ENV['SMARTY_AUTH_REFERER']
|
|
17
|
-
credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
16
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
|
17
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
18
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
21
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
22
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
22
23
|
|
|
23
24
|
client = SmartyStreets::ClientBuilder.new(credentials).build_us_street_api_client
|
|
24
25
|
batch = SmartyStreets::Batch.new
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/us_street/lookup'
|
|
5
6
|
require '../lib/smartystreets_ruby_sdk/us_street/match_type'
|
|
@@ -9,13 +10,13 @@ class USStreetSingleAddressExample
|
|
|
9
10
|
# key = 'Your SmartyStreets Auth Key here'
|
|
10
11
|
# referer = 'Your host name here'
|
|
11
12
|
# We recommend storing your secret keys in environment variables instead---it's safer!
|
|
12
|
-
key = ENV['SMARTY_AUTH_WEB']
|
|
13
|
-
referer = ENV['SMARTY_AUTH_REFERER']
|
|
14
|
-
credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
13
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
|
14
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
15
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
18
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
19
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
19
20
|
|
|
20
21
|
# To try with a proxy, add this method before build_us_street_api_client
|
|
21
22
|
# with_proxy('localhost', 8080, 'proxyUser', 'proxyPassword')
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/batch'
|
|
5
6
|
require '../lib/smartystreets_ruby_sdk/us_zipcode/lookup'
|
|
@@ -11,13 +12,13 @@ class USZipcodeMultipleLookupExample
|
|
|
11
12
|
# key = 'Your SmartyStreets Auth Key here'
|
|
12
13
|
# referer = 'Your host name here'
|
|
13
14
|
# We recommend storing your secret keys in environment variables instead---it's safer!
|
|
14
|
-
key = ENV['SMARTY_AUTH_WEB']
|
|
15
|
-
referer = ENV['SMARTY_AUTH_REFERER']
|
|
16
|
-
credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
15
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
|
16
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
17
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
20
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
21
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
21
22
|
|
|
22
23
|
client = SmartyStreets::ClientBuilder.new(credentials).build_us_zipcode_api_client
|
|
23
24
|
batch = SmartyStreets::Batch.new
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
|
2
2
|
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
|
3
|
+
require '../lib/smartystreets_ruby_sdk/basic_auth_credentials'
|
|
3
4
|
require '../lib/smartystreets_ruby_sdk/client_builder'
|
|
4
5
|
require '../lib/smartystreets_ruby_sdk/us_zipcode/lookup'
|
|
5
6
|
|
|
@@ -8,13 +9,13 @@ class UsZipcodeSingleLookupExample
|
|
|
8
9
|
# key = 'Your SmartyStreets Auth Key here'
|
|
9
10
|
# referer = 'Your host name here'
|
|
10
11
|
# We recommend storing your secret keys in environment variables instead---it's safer!
|
|
11
|
-
key = ENV['SMARTY_AUTH_WEB']
|
|
12
|
-
referer = ENV['SMARTY_AUTH_REFERER']
|
|
13
|
-
credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
12
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
|
13
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
|
14
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
id = ENV['SMARTY_AUTH_ID']
|
|
17
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
|
18
|
+
credentials = SmartyStreets::BasicAuthCredentials.new(id, token)
|
|
18
19
|
|
|
19
20
|
client = SmartyStreets::ClientBuilder.new(credentials).build_us_zipcode_api_client
|
|
20
21
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module SmartyStreets
|
|
2
|
+
class BasicAuthCredentials
|
|
3
|
+
def initialize(auth_id, auth_token)
|
|
4
|
+
raise ArgumentError, 'credentials (auth id, auth token) required' if auth_id.nil? || auth_id.empty? || auth_token.nil? || auth_token.empty?
|
|
5
|
+
|
|
6
|
+
@auth_id = auth_id
|
|
7
|
+
@auth_token = auth_token
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def sign(request)
|
|
11
|
+
request.basic_auth = [@auth_id, @auth_token]
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -47,6 +47,7 @@ module SmartyStreets
|
|
|
47
47
|
request.body = smarty_request.payload
|
|
48
48
|
request['User-Agent'] = "smartystreets (sdk:ruby@#{SmartyStreets::VERSION})"
|
|
49
49
|
request['Referer'] = smarty_request.referer unless smarty_request.referer.nil?
|
|
50
|
+
request.basic_auth(smarty_request.basic_auth[0], smarty_request.basic_auth[1]) unless smarty_request.basic_auth.nil?
|
|
50
51
|
set_custom_headers(smarty_request.header, request)
|
|
51
52
|
request
|
|
52
53
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module SmartyStreets
|
|
2
2
|
class Request
|
|
3
|
-
attr_accessor :parameters, :payload, :url_components, :url_prefix, :referer, :header, :content_type
|
|
3
|
+
attr_accessor :parameters, :payload, :url_components, :url_prefix, :referer, :header, :content_type, :basic_auth
|
|
4
4
|
|
|
5
5
|
def initialize
|
|
6
6
|
@parameters = {}
|
|
@@ -10,6 +10,7 @@ module SmartyStreets
|
|
|
10
10
|
@referer = nil
|
|
11
11
|
@header = {}
|
|
12
12
|
@content_type = 'application/json'
|
|
13
|
+
@basic_auth = nil
|
|
13
14
|
end
|
|
14
15
|
end
|
|
15
16
|
end
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require_relative "property/financial/response"
|
|
2
1
|
require_relative "property/principal/response"
|
|
3
2
|
require_relative "geo_reference/response"
|
|
4
3
|
require_relative "risk/response"
|
|
@@ -15,16 +14,6 @@ module SmartyStreets
|
|
|
15
14
|
@serializer = serializer
|
|
16
15
|
end
|
|
17
16
|
|
|
18
|
-
def send_property_financial_lookup(lookup)
|
|
19
|
-
if (lookup.instance_of? String)
|
|
20
|
-
__send(USEnrichment::Lookup.new(lookup,'property','financial'))
|
|
21
|
-
elsif (lookup.instance_of? USEnrichment::Lookup)
|
|
22
|
-
lookup.data_set = 'property'
|
|
23
|
-
lookup.data_sub_set = 'financial'
|
|
24
|
-
__send(lookup)
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
17
|
def send_property_principal_lookup(lookup)
|
|
29
18
|
if (lookup.instance_of? String)
|
|
30
19
|
__send(USEnrichment::Lookup.new(lookup,'property','principal'))
|
|
@@ -129,9 +118,6 @@ module SmartyStreets
|
|
|
129
118
|
output = []
|
|
130
119
|
results.each do |raw_result|
|
|
131
120
|
result = nil
|
|
132
|
-
if lookup.data_sub_set == "financial"
|
|
133
|
-
result = USEnrichment::Property::Financial::Response.new(raw_result, response.header['etag'])
|
|
134
|
-
end
|
|
135
121
|
if lookup.data_sub_set == "principal"
|
|
136
122
|
result = USEnrichment::Property::Principal::Response.new(raw_result, response.header['etag'])
|
|
137
123
|
end
|
|
@@ -47,7 +47,16 @@ module SmartyStreets
|
|
|
47
47
|
converted_obj = []
|
|
48
48
|
obj.each do |lookup|
|
|
49
49
|
converted_lookup = {}
|
|
50
|
-
|
|
50
|
+
match_strategy = lookup.match
|
|
51
|
+
match_strategy = MatchType::ENHANCED if match_strategy.nil? || match_strategy.empty?
|
|
52
|
+
|
|
53
|
+
if lookup.candidates > 0
|
|
54
|
+
converted_lookup['candidates'] = lookup.candidates
|
|
55
|
+
elsif match_strategy == MatchType::ENHANCED
|
|
56
|
+
converted_lookup['candidates'] = 5
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
converted_lookup['match'] = match_strategy if match_strategy != MatchType::STRICT
|
|
51
60
|
|
|
52
61
|
converted_lookup['input_id'] = lookup.input_id
|
|
53
62
|
converted_lookup['street'] = lookup.street
|
|
@@ -59,8 +68,6 @@ module SmartyStreets
|
|
|
59
68
|
converted_lookup['lastline'] = lookup.lastline
|
|
60
69
|
converted_lookup['addressee'] = lookup.addressee
|
|
61
70
|
converted_lookup['urbanization'] = lookup.urbanization
|
|
62
|
-
converted_lookup['match'] = lookup.match
|
|
63
|
-
converted_lookup['candidates'] = lookup.candidates
|
|
64
71
|
converted_lookup['format'] = lookup.format
|
|
65
72
|
converted_lookup['county_source'] = lookup.county_source
|
|
66
73
|
|
|
@@ -17,6 +17,7 @@ require 'smartystreets_ruby_sdk/license_sender'
|
|
|
17
17
|
require 'smartystreets_ruby_sdk/shared_credentials'
|
|
18
18
|
require 'smartystreets_ruby_sdk/signing_sender'
|
|
19
19
|
require 'smartystreets_ruby_sdk/static_credentials'
|
|
20
|
+
require 'smartystreets_ruby_sdk/basic_auth_credentials'
|
|
20
21
|
require 'smartystreets_ruby_sdk/status_code_sender'
|
|
21
22
|
require 'smartystreets_ruby_sdk/url_prefix_sender'
|
|
22
23
|
require 'smartystreets_ruby_sdk/us_extract'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: smartystreets_ruby_sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.
|
|
4
|
+
version: 6.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- SmartyStreets SDK Team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-01-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -79,9 +79,11 @@ executables: []
|
|
|
79
79
|
extensions: []
|
|
80
80
|
extra_rdoc_files: []
|
|
81
81
|
files:
|
|
82
|
+
- ".claude/settings.json"
|
|
82
83
|
- ".github/workflows/gem-publish.yml"
|
|
83
84
|
- ".gitignore"
|
|
84
85
|
- CHANGELOG.md
|
|
86
|
+
- CLAUDE.md
|
|
85
87
|
- Dockerfile
|
|
86
88
|
- Gemfile
|
|
87
89
|
- LICENSE.md
|
|
@@ -104,6 +106,7 @@ files:
|
|
|
104
106
|
- examples/us_zipcode_multiple_lookup_example.rb
|
|
105
107
|
- examples/us_zipcode_single_lookup_example.rb
|
|
106
108
|
- lib/smartystreets_ruby_sdk.rb
|
|
109
|
+
- lib/smartystreets_ruby_sdk/basic_auth_credentials.rb
|
|
107
110
|
- lib/smartystreets_ruby_sdk/batch.rb
|
|
108
111
|
- lib/smartystreets_ruby_sdk/client_builder.rb
|
|
109
112
|
- lib/smartystreets_ruby_sdk/custom_header_sender.rb
|
|
@@ -158,9 +161,6 @@ files:
|
|
|
158
161
|
- lib/smartystreets_ruby_sdk/us_enrichment/geo_reference/place_entry.rb
|
|
159
162
|
- lib/smartystreets_ruby_sdk/us_enrichment/geo_reference/response.rb
|
|
160
163
|
- lib/smartystreets_ruby_sdk/us_enrichment/lookup.rb
|
|
161
|
-
- lib/smartystreets_ruby_sdk/us_enrichment/property/financial/attributes.rb
|
|
162
|
-
- lib/smartystreets_ruby_sdk/us_enrichment/property/financial/history_entry.rb
|
|
163
|
-
- lib/smartystreets_ruby_sdk/us_enrichment/property/financial/response.rb
|
|
164
164
|
- lib/smartystreets_ruby_sdk/us_enrichment/property/principal/attributes.rb
|
|
165
165
|
- lib/smartystreets_ruby_sdk/us_enrichment/property/principal/history_entry.rb
|
|
166
166
|
- lib/smartystreets_ruby_sdk/us_enrichment/property/principal/response.rb
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
require_relative 'history_entry'
|
|
2
|
-
|
|
3
|
-
module SmartyStreets
|
|
4
|
-
module USEnrichment
|
|
5
|
-
module Property
|
|
6
|
-
module Financial
|
|
7
|
-
class Attributes
|
|
8
|
-
attr_reader :assessed_improvement_percent, :assessed_improvement_value, :assessed_land_value, :assessed_value,
|
|
9
|
-
:assessor_last_update, :assessor_taxroll_update, :contact_city, :contact_crrt, :contact_full_address, :contact_house_number,
|
|
10
|
-
:contact_mail_info_format, :contact_mail_info_privacy, :contact_mailing_county, :contact_mailing_fips, :contact_post_direction,
|
|
11
|
-
:contact_pre_direction, :contact_state, :contact_street_name, :contact_suffix, :contact_unit_designator, :contact_value,
|
|
12
|
-
:contact_zip, :contact_zip4, :deed_document_page, :deed_document_book, :deed_document_number, :deed_owner_first_name,
|
|
13
|
-
:deed_owner_first_name2, :deed_owner_first_name3, :deed_owner_first_name4, :deed_owner_full_name, :deed_owner_full_name2,
|
|
14
|
-
:deed_owner_full_name3, :deed_owner_full_name4, :deed_owner_last_name, :deed_owner_last_name2, :deed_owner_last_name3,
|
|
15
|
-
:deed_owner_last_name4, :deed_owner_middle_name, :deed_owner_middle_name2, :deed_owner_middle_name3, :deed_owner_middle_name4,
|
|
16
|
-
:deed_owner_suffix, :deed_owner_suffix2, :deed_owner_suffix3, :deed_owner_suffix4, :deed_sale_date, :deed_sale_price,
|
|
17
|
-
:deed_transaction_id, :disabled_tax_exemption, :financial_history, :first_name, :first_name_2, :first_name_3, :first_name_4,
|
|
18
|
-
:homeowner_tax_exemption, :last_name, :last_name_2, :last_name_3, :last_name_4, :market_improvement_percent, :market_improvement_value,
|
|
19
|
-
:market_land_value, :market_value_year, :match_type, :middle_name, :middle_name_2, :middle_name_3, :middle_name_4, :other_tax_exemption,
|
|
20
|
-
:owner_full_name, :owner_full_name_2, :owner_full_name_3, :owner_full_name_4, :ownership_transfer_date, :ownership_transfer_doc_number,
|
|
21
|
-
:ownership_transfer_transaction_id, :ownership_type, :ownership_type_2, :previous_assessed_value, :prior_sale_amount, :prior_sale_date,
|
|
22
|
-
:sale_amount, :sale_date, :senior_tax_exemption, :suffix, :suffix_2, :suffix_3, :suffix_4, :tax_assess_year, :tax_billed_amount,
|
|
23
|
-
:tax_delinquent_year, :tax_fiscal_year, :tax_rate_area, :total_market_value, :trust_description, :veteran_tax_exemption, :widow_tax_exemption
|
|
24
|
-
|
|
25
|
-
def initialize(obj)
|
|
26
|
-
@assessed_improvement_percent = obj['assessed_improvement_percent']
|
|
27
|
-
@assessed_improvement_value = obj['assessed_improvement_value']
|
|
28
|
-
@assessed_land_value = obj['assessed_land_value']
|
|
29
|
-
@assessed_value = obj['assessed_value']
|
|
30
|
-
@assessor_last_update = obj['assessor_last_update']
|
|
31
|
-
@assessor_taxroll_update = obj['assessor_taxroll_update']
|
|
32
|
-
@contact_city = obj['contact_city']
|
|
33
|
-
@contact_crrt = obj['contact_crrt']
|
|
34
|
-
@contact_full_address = obj['contact_full_address']
|
|
35
|
-
@contact_house_number = obj['contact_house_number']
|
|
36
|
-
@contact_mail_info_format = obj['contact_mail_info_format']
|
|
37
|
-
@contact_mail_info_privacy = obj['contact_mail_info_privacy']
|
|
38
|
-
@contact_mailing_county = obj['contact_mailing_county']
|
|
39
|
-
@contact_mailing_fips = obj['contact_mailing_fips']
|
|
40
|
-
@contact_post_direction = obj['contact_post_direction']
|
|
41
|
-
@contact_pre_direction = obj['contact_pre_direction']
|
|
42
|
-
@contact_state = obj['contact_state']
|
|
43
|
-
@contact_street_name = obj['contact_street_name']
|
|
44
|
-
@contact_suffix = obj['contact_suffix']
|
|
45
|
-
@contact_unit_designator = obj['contact_unit_designator']
|
|
46
|
-
@contact_value = obj['contact_value']
|
|
47
|
-
@contact_zip = obj['contact_zip']
|
|
48
|
-
@contact_zip4 = obj['contact_zip4']
|
|
49
|
-
@deed_document_page = obj['deed_document_page']
|
|
50
|
-
@deed_document_book = obj['deed_document_book']
|
|
51
|
-
@deed_document_number = obj['deed_document_number']
|
|
52
|
-
@deed_owner_first_name = obj['deed_owner_first_name']
|
|
53
|
-
@deed_owner_first_name2 = obj['deed_owner_first_name2']
|
|
54
|
-
@deed_owner_first_name3 = obj['deed_owner_first_name3']
|
|
55
|
-
@deed_owner_first_name4 = obj['deed_owner_first_name4']
|
|
56
|
-
@deed_owner_full_name = obj['deed_owner_full_name']
|
|
57
|
-
@deed_owner_full_name2 = obj['deed_owner_full_name2']
|
|
58
|
-
@deed_owner_full_name3 = obj['deed_owner_full_name3']
|
|
59
|
-
@deed_owner_full_name4 = obj['deed_owner_full_name4']
|
|
60
|
-
@deed_owner_last_name = obj['deed_owner_last_name']
|
|
61
|
-
@deed_owner_last_name2 = obj['deed_owner_last_name2']
|
|
62
|
-
@deed_owner_last_name3 = obj['deed_owner_last_name3']
|
|
63
|
-
@deed_owner_last_name4 = obj['deed_owner_last_name4']
|
|
64
|
-
@deed_owner_middle_name = obj['deed_owner_middle_name']
|
|
65
|
-
@deed_owner_middle_name2 = obj['deed_owner_middle_name2']
|
|
66
|
-
@deed_owner_middle_name3 = obj['deed_owner_middle_name3']
|
|
67
|
-
@deed_owner_middle_name4 = obj['deed_owner_middle_name4']
|
|
68
|
-
@deed_owner_suffix = obj['deed_owner_suffix']
|
|
69
|
-
@deed_owner_suffix2 = obj['deed_owner_suffix2']
|
|
70
|
-
@deed_owner_suffix3 = obj['deed_owner_suffix3']
|
|
71
|
-
@deed_owner_suffix4 = obj['deed_owner_suffix4']
|
|
72
|
-
@deed_sale_date = obj['deed_sale_date']
|
|
73
|
-
@deed_sale_price = obj['deed_sale_price']
|
|
74
|
-
@deed_transaction_id = obj['deed_transaction_id']
|
|
75
|
-
@disabled_tax_exemption = obj['disabled_tax_exemption']
|
|
76
|
-
@financial_history = createFinancialHistory(obj['financial_history'])
|
|
77
|
-
@first_name = obj['first_name']
|
|
78
|
-
@first_name_2 = obj['first_name_2']
|
|
79
|
-
@first_name_3 = obj['first_name_3']
|
|
80
|
-
@first_name_4 = obj['first_name_4']
|
|
81
|
-
@homeowner_tax_exemption = obj['homeowner_tax_exemption']
|
|
82
|
-
@last_name = obj['last_name']
|
|
83
|
-
@last_name_2 = obj['last_name_2']
|
|
84
|
-
@last_name_3 = obj['last_name_3']
|
|
85
|
-
@last_name_4 = obj['last_name_4']
|
|
86
|
-
@market_improvement_percent = obj['market_improvement_percent']
|
|
87
|
-
@market_improvement_value = obj['market_improvement_value']
|
|
88
|
-
@market_land_value = obj['market_land_value']
|
|
89
|
-
@market_value_year = obj['market_value_year']
|
|
90
|
-
@match_type = obj['match_type']
|
|
91
|
-
@middle_name = obj['middle_name']
|
|
92
|
-
@middle_name_2 = obj['middle_name_2']
|
|
93
|
-
@middle_name_3 = obj['middle_name_3']
|
|
94
|
-
@middle_name_4 = obj['middle_name_4']
|
|
95
|
-
@other_tax_exemption = obj['other_tax_exemption']
|
|
96
|
-
@owner_full_name = obj['owner_full_name']
|
|
97
|
-
@owner_full_name_2 = obj['owner_full_name_2']
|
|
98
|
-
@owner_full_name_3 = obj['owner_full_name_3']
|
|
99
|
-
@owner_full_name_4 = obj['owner_full_name_4']
|
|
100
|
-
@ownership_transfer_date = obj['ownership_transfer_date']
|
|
101
|
-
@ownership_transfer_doc_number = obj['ownership_transfer_doc_number']
|
|
102
|
-
@ownership_transfer_transaction_id = obj['ownership_transfer_transaction_id']
|
|
103
|
-
@ownership_type = obj['ownership_type']
|
|
104
|
-
@ownership_type_2 = obj['ownership_type_2']
|
|
105
|
-
@previous_assessed_value = obj['previous_assessed_value']
|
|
106
|
-
@prior_sale_amount = obj['prior_sale_amount']
|
|
107
|
-
@prior_sale_date = obj['prior_sale_date']
|
|
108
|
-
@sale_amount = obj['sale_amount']
|
|
109
|
-
@sale_date = obj['sale_date']
|
|
110
|
-
@senior_tax_exemption = obj['senior_tax_exemption']
|
|
111
|
-
@suffix = obj['suffix']
|
|
112
|
-
@suffix_2 = obj['suffix_2']
|
|
113
|
-
@suffix_3 = obj['suffix_3']
|
|
114
|
-
@suffix_4 = obj['suffix_4']
|
|
115
|
-
@tax_assess_year = obj['tax_assess_year']
|
|
116
|
-
@tax_billed_amount = obj['tax_billed_amount']
|
|
117
|
-
@tax_delinquent_year = obj['tax_delinquent_year']
|
|
118
|
-
@tax_fiscal_year = obj['tax_fiscal_year']
|
|
119
|
-
@tax_rate_area = obj['tax_rate_area']
|
|
120
|
-
@total_market_value = obj['total_market_value']
|
|
121
|
-
@trust_description = obj['trust_description']
|
|
122
|
-
@veteran_tax_exemption = obj['veteran_tax_exemption']
|
|
123
|
-
@widow_tax_exemption = obj['widow_tax_exemption']
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
def createFinancialHistory(historyArray)
|
|
127
|
-
entryArray = []
|
|
128
|
-
for entry in historyArray do
|
|
129
|
-
entryArray << Financial::HistoryEntry.new(entry)
|
|
130
|
-
end
|
|
131
|
-
return entryArray
|
|
132
|
-
end
|
|
133
|
-
end
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
end
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
module SmartyStreets
|
|
2
|
-
module USEnrichment
|
|
3
|
-
module Property
|
|
4
|
-
module Financial
|
|
5
|
-
class HistoryEntry
|
|
6
|
-
attr_reader :code_title_company, :document_type_description, :instrument_date, :interest_rate_type_2, :lender_address, :lender_address_2,
|
|
7
|
-
:lender_city, :lender_city_2, :lender_code_2, :lender_first_name, :lender_first_name_2, :lender_last_name,
|
|
8
|
-
:lender_last_name_2, :lender_name, :lender_name_2, :lender_seller_carry_back, :lender_seller_carry_back_2,
|
|
9
|
-
:lender_state, :lender_state_2, :lender_zip, :lender_zip_2, :lender_zip_extended, :lender_zip_extended_2,
|
|
10
|
-
:mortgage_amount, :mortgage_amount_2, :mortgage_due_date, :mortgage_due_date_2, :mortgage_interest_rate,
|
|
11
|
-
:mortgage_interest_rate_type, :mortgage_lender_code, :mortgage_rate_2, :mortgage_recording_date,
|
|
12
|
-
:mortgage_recording_date_2, :mortgage_term, :mortgage_term_2, :mortgage_term_type, :mortgage_term_type_2,
|
|
13
|
-
:mortgage_type, :mortgage_type_2, :multi_parcel_flag, :name_title_company, :recording_date, :transfer_amount
|
|
14
|
-
|
|
15
|
-
def initialize(obj)
|
|
16
|
-
@code_title_company = obj['code_title_company']
|
|
17
|
-
@document_type_description = obj['document_type_description']
|
|
18
|
-
@instrument_date = obj['instrument_date']
|
|
19
|
-
@interest_rate_type_2 = obj['interest_rate_type_2']
|
|
20
|
-
@lender_address = obj['lender_address']
|
|
21
|
-
@lender_address_2 = obj['lender_address_2']
|
|
22
|
-
@lender_city = obj['lender_city']
|
|
23
|
-
@lender_city_2 = obj['lender_city_2']
|
|
24
|
-
@lender_code_2 = obj['lender_code_2']
|
|
25
|
-
@lender_first_name = obj['lender_first_name']
|
|
26
|
-
@lender_first_name_2 = obj['lender_first_name_2']
|
|
27
|
-
@lender_last_name = obj['lender_last_name']
|
|
28
|
-
@lender_last_name_2 = obj['lender_last_name_2']
|
|
29
|
-
@lender_name = obj['lender_name']
|
|
30
|
-
@lender_name_2 = obj['lender_name_2']
|
|
31
|
-
@lender_seller_carry_back = obj['lender_seller_carry_back']
|
|
32
|
-
@lender_seller_carry_back_2 = obj['lender_seller_carry_back_2']
|
|
33
|
-
@lender_state = obj['lender_state']
|
|
34
|
-
@lender_state_2 = obj['lender_state_2']
|
|
35
|
-
@lender_zip = obj['lender_zip']
|
|
36
|
-
@lender_zip_2 = obj['lender_zip_2']
|
|
37
|
-
@lender_zip_extended = obj['lender_zip_extended']
|
|
38
|
-
@lender_zip_extended_2 = obj['lender_zip_extended_2']
|
|
39
|
-
@mortgage_amount = obj['mortgage_amount']
|
|
40
|
-
@mortgage_amount_2 = obj['mortgage_amount_2']
|
|
41
|
-
@mortgage_due_date = obj['mortgage_due_date']
|
|
42
|
-
@mortgage_due_date_2 = obj['mortgage_due_date_2']
|
|
43
|
-
@mortgage_interest_rate = obj['mortgage_interest_rate']
|
|
44
|
-
@mortgage_interest_rate_type = obj['mortgage_interest_rate_type']
|
|
45
|
-
@mortgage_lender_code = obj['mortgage_lender_code']
|
|
46
|
-
@mortgage_rate_2 = obj['mortgage_rate_2']
|
|
47
|
-
@mortgage_recording_date = obj['mortgage_recording_date']
|
|
48
|
-
@mortgage_recording_date_2 = obj['mortgage_recording_date_2']
|
|
49
|
-
@mortgage_term = obj['mortgage_term']
|
|
50
|
-
@mortgage_term_2 = obj['mortgage_term_2']
|
|
51
|
-
@mortgage_term_type = obj['mortgage_term_type']
|
|
52
|
-
@mortgage_term_type_2 = obj['mortgage_term_type_2']
|
|
53
|
-
@mortgage_type = obj['mortgage_type']
|
|
54
|
-
@mortgage_type_2 = obj['mortgage_type_2']
|
|
55
|
-
@multi_parcel_flag = obj['multi_parcel_flag']
|
|
56
|
-
@name_title_company = obj['name_title_company']
|
|
57
|
-
@recording_date = obj['recording_date']
|
|
58
|
-
@transfer_amount = obj['transfer_amount']
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
require_relative "attributes"
|
|
2
|
-
|
|
3
|
-
module SmartyStreets
|
|
4
|
-
module USEnrichment
|
|
5
|
-
module Property
|
|
6
|
-
module Financial
|
|
7
|
-
class Response
|
|
8
|
-
attr_reader :smarty_key, :data_set_name, :data_subset_name, :matched_address, :attributes, :etag
|
|
9
|
-
|
|
10
|
-
def initialize(obj, etag=nil)
|
|
11
|
-
@smarty_key = obj['smarty_key']
|
|
12
|
-
@data_set_name = obj['data_set_name']
|
|
13
|
-
@data_subset_name = obj['data_subset_name']
|
|
14
|
-
@matched_address = obj['matched_address']
|
|
15
|
-
@attributes = Attributes.new(obj['attributes'])
|
|
16
|
-
@etag = etag
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|