smartystreets_ruby_sdk 5.16.2 → 5.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/examples/us_enrichment_example.rb +46 -0
- data/lib/smartystreets_ruby_sdk/client_builder.rb +7 -0
- data/lib/smartystreets_ruby_sdk/us_enrichment/client.rb +51 -0
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/financial/attributes.rb +137 -0
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/financial/history_entry.rb +63 -0
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/financial/lookup.rb +17 -0
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/financial/response.rb +20 -0
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/principal/attributes.rb +407 -0
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/principal/lookup.rb +17 -0
- data/lib/smartystreets_ruby_sdk/us_enrichment/property/principal/response.rb +20 -0
- data/lib/smartystreets_ruby_sdk/us_enrichment.rb +15 -0
- data/lib/smartystreets_ruby_sdk/version.rb +1 -1
- metadata +12 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fed19bd2469aa03cd270c2f197841455ebbdb3fcb99b6741d72473d733add865
|
4
|
+
data.tar.gz: c31d18f7205da476966dbe9337958b67b31c00aec4230b6516afc232048530eb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19e61f2a1710f912903a0bfba7a47758d2f3a62ddcc3b6753e3b02be627c394f670c555752d32f11a9fd18f6d622133c396514c46c3f7ebceb24b97cd27a059e
|
7
|
+
data.tar.gz: da46bb9d1f2b15e132ec89178100385113dd41512b00407beaf8e4af8df36fd7db8fe394223ce17f8ddd457cd520e2a86d8f8fcfd8c55f9cd7f63463baecf9ba
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require '../lib/smartystreets_ruby_sdk/static_credentials'
|
2
|
+
require '../lib/smartystreets_ruby_sdk/shared_credentials'
|
3
|
+
require '../lib/smartystreets_ruby_sdk/client_builder'
|
4
|
+
|
5
|
+
class USEnrichmentAddressExample
|
6
|
+
def run
|
7
|
+
# key = 'Your SmartyStreets Auth Key here'
|
8
|
+
# referer = 'Your host name here'
|
9
|
+
# We recommend storing your secret keys in environment variables instead---it's safer!
|
10
|
+
# key = ENV['SMARTY_AUTH_WEB']
|
11
|
+
# referer = ENV['SMARTY_AUTH_REFERER']
|
12
|
+
# credentials = SmartyStreets::SharedCredentials.new(key, referer)
|
13
|
+
|
14
|
+
id = ENV['SMARTY_AUTH_ID']
|
15
|
+
token = ENV['SMARTY_AUTH_TOKEN']
|
16
|
+
credentials = SmartyStreets::StaticCredentials.new(id, token)
|
17
|
+
|
18
|
+
# The appropriate license values to be used for your subscriptions
|
19
|
+
# can be found on the Subscriptions page of the account dashboard.
|
20
|
+
# https://www.smartystreets.com/docs/cloud/licensing
|
21
|
+
#
|
22
|
+
# To try with a proxy, add this method call at the end of the chain
|
23
|
+
# with_proxy('localhost', 8080, 'proxyUser', 'proxyPassword')
|
24
|
+
client = SmartyStreets::ClientBuilder.new(credentials).
|
25
|
+
build_us_enrichment_api_client
|
26
|
+
result = nil
|
27
|
+
begin
|
28
|
+
result = client.send_property_financial_lookup("765613032")
|
29
|
+
# result = client.send_property_principal_lookup("765613032")
|
30
|
+
rescue SmartyStreets::SmartyError => err
|
31
|
+
puts err
|
32
|
+
return
|
33
|
+
end
|
34
|
+
|
35
|
+
if result.empty?
|
36
|
+
puts 'No results. This means the smartykey is not valid.'
|
37
|
+
return
|
38
|
+
end
|
39
|
+
|
40
|
+
puts "Lookup Successful! Here is the result: "
|
41
|
+
puts result[0].inspect
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
example = USEnrichmentAddressExample.new
|
46
|
+
example.run
|
@@ -17,6 +17,7 @@ require_relative 'international_street/client'
|
|
17
17
|
require_relative 'international_autocomplete/client'
|
18
18
|
require_relative 'us_reverse_geo/client'
|
19
19
|
require_relative 'us_autocomplete_pro/client'
|
20
|
+
require_relative 'us_enrichment/client'
|
20
21
|
|
21
22
|
module SmartyStreets
|
22
23
|
# The ClientBuilder class helps you build a client object for one of the supported SmartyStreets APIs.
|
@@ -31,6 +32,7 @@ module SmartyStreets
|
|
31
32
|
US_STREET_API_URL = 'https://us-street.api.smarty.com/street-address'.freeze
|
32
33
|
US_ZIP_CODE_API_URL = 'https://us-zipcode.api.smarty.com/lookup'.freeze
|
33
34
|
US_REVERSE_GEO_API_URL = 'https://us-reverse-geo.api.smarty.com/lookup'.freeze
|
35
|
+
US_ENRICHMENT_API_URL = 'https://us-enrichment.api.smarty.com/lookup'.freeze
|
34
36
|
|
35
37
|
def initialize(signer)
|
36
38
|
@signer = signer
|
@@ -162,6 +164,11 @@ module SmartyStreets
|
|
162
164
|
USReverseGeo::Client.new(build_sender, @serializer)
|
163
165
|
end
|
164
166
|
|
167
|
+
def build_us_enrichment_api_client
|
168
|
+
ensure_url_prefix_not_null(US_ENRICHMENT_API_URL)
|
169
|
+
USEnrichment::Client.new(build_sender, @serializer)
|
170
|
+
end
|
171
|
+
|
165
172
|
# </editor-fold>
|
166
173
|
|
167
174
|
def build_sender
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require_relative "property/financial/response"
|
2
|
+
require_relative "property/principal/response"
|
3
|
+
require_relative "property/financial/lookup"
|
4
|
+
require_relative "property/principal/lookup"
|
5
|
+
require_relative '../request'
|
6
|
+
|
7
|
+
module SmartyStreets
|
8
|
+
module USEnrichment
|
9
|
+
class Client
|
10
|
+
def initialize(sender, serializer)
|
11
|
+
@sender = sender
|
12
|
+
@serializer = serializer
|
13
|
+
end
|
14
|
+
|
15
|
+
def send_property_financial_lookup(smarty_key)
|
16
|
+
__send(USEnrichment::Property::Financial::Lookup.new(smarty_key))
|
17
|
+
end
|
18
|
+
|
19
|
+
def send_property_principal_lookup(smarty_key)
|
20
|
+
__send(USEnrichment::Property::Principal::Lookup.new(smarty_key))
|
21
|
+
end
|
22
|
+
|
23
|
+
def __send(lookup)
|
24
|
+
smarty_request = Request.new
|
25
|
+
|
26
|
+
return if lookup.nil?
|
27
|
+
|
28
|
+
smarty_request.url_prefix = '/' + lookup.smarty_key + '/' + lookup.data_set + '/' + lookup.data_sub_set
|
29
|
+
|
30
|
+
response = @sender.send(smarty_request)
|
31
|
+
results = @serializer.deserialize(response.payload)
|
32
|
+
|
33
|
+
results = [] if results.nil?
|
34
|
+
raise response.error if response.error
|
35
|
+
|
36
|
+
output = []
|
37
|
+
results.each do |raw_result|
|
38
|
+
result = nil
|
39
|
+
if lookup.data_sub_set == "financial"
|
40
|
+
result = USEnrichment::Property::Financial::Response.new(raw_result)
|
41
|
+
end
|
42
|
+
if lookup.data_sub_set == "principal"
|
43
|
+
result = USEnrichment::Property::Principal::Response.new(raw_result)
|
44
|
+
end
|
45
|
+
output << result
|
46
|
+
end
|
47
|
+
output
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,137 @@
|
|
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
|
@@ -0,0 +1,63 @@
|
|
1
|
+
module SmartyStreets
|
2
|
+
module USEnrichment
|
3
|
+
module Property
|
4
|
+
module Financial
|
5
|
+
class HistoryEntry
|
6
|
+
attr_reader :code_title_company, :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
|
+
@instrument_date = obj['instrument_date']
|
18
|
+
@interest_rate_type_2 = obj['interest_rate_type_2']
|
19
|
+
@lender_address = obj['lender_address']
|
20
|
+
@lender_address_2 = obj['lender_address_2']
|
21
|
+
@lender_city = obj['lender_city']
|
22
|
+
@lender_city_2 = obj['lender_city_2']
|
23
|
+
@lender_code_2 = obj['lender_code_2']
|
24
|
+
@lender_first_name = obj['lender_first_name']
|
25
|
+
@lender_first_name_2 = obj['lender_first_name_2']
|
26
|
+
@lender_last_name = obj['lender_last_name']
|
27
|
+
@lender_last_name_2 = obj['lender_last_name_2']
|
28
|
+
@lender_name = obj['lender_name']
|
29
|
+
@lender_name_2 = obj['lender_name_2']
|
30
|
+
@lender_seller_carry_back = obj['lender_seller_carry_back']
|
31
|
+
@lender_seller_carry_back_2 = obj['lender_seller_carry_back_2']
|
32
|
+
@lender_state = obj['lender_state']
|
33
|
+
@lender_state_2 = obj['lender_state_2']
|
34
|
+
@lender_zip = obj['lender_zip']
|
35
|
+
@lender_zip_2 = obj['lender_zip_2']
|
36
|
+
@lender_zip_extended = obj['lender_zip_extended']
|
37
|
+
@lender_zip_extended_2 = obj['lender_zip_extended_2']
|
38
|
+
@mortgage_amount = obj['mortgage_amount']
|
39
|
+
@mortgage_amount_2 = obj['mortgage_amount_2']
|
40
|
+
@mortgage_due_date = obj['mortgage_due_date']
|
41
|
+
@mortgage_due_date_2 = obj['mortgage_due_date_2']
|
42
|
+
@mortgage_interest_rate = obj['mortgage_interest_rate']
|
43
|
+
@mortgage_interest_rate_type = obj['mortgage_interest_rate_type']
|
44
|
+
@mortgage_lender_code = obj['mortgage_lender_code']
|
45
|
+
@mortgage_rate_2 = obj['mortgage_rate_2']
|
46
|
+
@mortgage_recording_date = obj['mortgage_recording_date']
|
47
|
+
@mortgage_recording_date_2 = obj['mortgage_recording_date_2']
|
48
|
+
@mortgage_term = obj['mortgage_term']
|
49
|
+
@mortgage_term_2 = obj['mortgage_term_2']
|
50
|
+
@mortgage_term_type = obj['mortgage_term_type']
|
51
|
+
@mortgage_term_type_2 = obj['mortgage_term_type_2']
|
52
|
+
@mortgage_type = obj['mortgage_type']
|
53
|
+
@mortgage_type_2 = obj['mortgage_type_2']
|
54
|
+
@multi_parcel_flag = obj['multi_parcel_flag']
|
55
|
+
@name_title_company = obj['name_title_company']
|
56
|
+
@recording_date = obj['recording_date']
|
57
|
+
@transfer_amount = obj['transfer_amount']
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module SmartyStreets
|
2
|
+
module USEnrichment
|
3
|
+
module Property
|
4
|
+
module Financial
|
5
|
+
class Lookup
|
6
|
+
attr_reader :smarty_key, :data_set, :data_sub_set
|
7
|
+
|
8
|
+
def initialize(smarty_key)
|
9
|
+
@smarty_key = smarty_key
|
10
|
+
@data_set = "property"
|
11
|
+
@data_sub_set = "financial"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
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, :data_sub_set, :attributes
|
9
|
+
|
10
|
+
def initialize(obj)
|
11
|
+
@smarty_key = obj['smarty_key']
|
12
|
+
@data_set = obj['data_set']
|
13
|
+
@data_sub_set = obj['data_sub_set']
|
14
|
+
@attributes = Attributes.new(obj['attributes'])
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,407 @@
|
|
1
|
+
module SmartyStreets
|
2
|
+
module USEnrichment
|
3
|
+
module Property
|
4
|
+
module Principal
|
5
|
+
class Attributes
|
6
|
+
attr_reader :first_floor_sqft, :second_floor_sqft, :acres, :air_conditioner, :arbor_pergola, :assessed_improvement_percent, :assessed_improvement_value, :assessed_land_value,
|
7
|
+
:assessed_value, :assessor_last_update, :assessor_taxroll_update, :attic_area, :attic_flag, :balcony, :balcony_area, :basement_sqft, :basement_sqft_finished,
|
8
|
+
:basement_sqft_unfinished, :bath_house, :bath_house_sqft, :bathrooms_partial, :bathrooms_total, :bedrooms, :block1, :block2, :boat_access, :boat_house, :boat_house_sqft,
|
9
|
+
:boat_lift, :bonus_room, :breakfast_nook, :breezeway, :building_definition_code, :building_sqft, :cabin, :cabin_sqft, :canopy, :canopy_sqft, :carport, :carport_sqft, :cbsa_code,
|
10
|
+
:cbsa_name, :cellar, :census_block, :census_block_group, :census_fips_place_code, :census_tract, :central_vacuum, :code_title_company, :combined_statistical_area, :community_rec,
|
11
|
+
:company_flag, :congressional_district, :construction_type, :contact_city, :contact_crrt, :contact_full_address, :contact_house_number, :contact_mail_info_format, :contact_mail_info_privacy,
|
12
|
+
:contact_mailing_county, :contact_mailing_fips, :contact_post_direction, :contact_pre_direction, :contact_state, :contact_street_name, :contact_suffix, :contact_unit_designator, :contact_value,
|
13
|
+
:contact_zip, :contact_zip4, :courtyard, :courtyard_area, :deck, :deck_area, :deed_document_page, :deed_document_book, :deed_document_number, :deed_owner_first_name, :deed_owner_first_name2,
|
14
|
+
:deed_owner_first_name3, :deed_owner_first_name4, :deed_owner_full_name, :deed_owner_full_name2, :deed_owner_full_name3, :deed_owner_full_name4, :deed_owner_last_name, :deed_owner_last_name2,
|
15
|
+
:deed_owner_last_name3, :deed_owner_last_name4, :deed_owner_middle_name, :deed_owner_middle_name2, :deed_owner_middle_name3, :deed_owner_middle_name4, :deed_owner_suffix, :deed_owner_suffix2,
|
16
|
+
:deed_owner_suffix3, :deed_owner_suffix4, :deed_sale_date, :deed_sale_price, :deed_transaction_id, :depth_linear_footage, :disabled_tax_exemption, :driveway_sqft, :driveway_type, :effective_year_built,
|
17
|
+
:elevation_feet, :elevator, :equestrian_arena, :escalator, :exercise_room, :exterior_walls, :family_room, :fence, :fence_area, :fips_code, :fire_resistance_code, :fire_sprinklers_flag, :fireplace,
|
18
|
+
:fireplace_number, :first_name, :first_name_2, :first_name_3, :first_name_4, :flooring, :foundation, :game_room, :garage, :garage_sqft, :gazebo, :gazebo_sqft, :golf_course, :grainery, :grainery_sqft,
|
19
|
+
:great_room, :greenhouse, :greenhouse_sqft, :gross_sqft, :guesthouse, :guesthouse_sqft, :handicap_accessibility, :heat, :heat_fuel_type, :hobby_room, :homeowner_tax_exemption, :instrument_date,
|
20
|
+
:intercom_system, :interest_rate_type_2, :interior_structure, :kennel, :kennel_sqft, :land_use_code, :land_use_group, :land_use_standard, :last_name, :last_name_2, :last_name_3, :last_name_4,
|
21
|
+
:latitude, :laundry, :lean_to, :lean_to_sqft, :legal_description, :legal_unit, :lender_address, :lender_address_2, :lender_city, :lender_city_2, :lender_code_2, :lender_first_name, :lender_first_name_2,
|
22
|
+
:lender_last_name, :lender_last_name_2, :lender_name, :lender_name_2, :lender_seller_carry_back, :lender_seller_carry_back_2, :lender_state, :lender_state_2, :lender_zip, :lender_zip_2,
|
23
|
+
:lender_zip_extended, :lender_zip_extended_2, :loading_platform, :loading_platform_sqft, :longitude, :lot_1, :lot_2, :lot_3, :lot_sqft, :market_improvement_percent, :market_improvement_value,
|
24
|
+
:market_land_value, :market_value_year, :match_type, :media_room, :metro_division, :middle_name, :middle_name_2, :middle_name_3, :middle_name_4, :milkhouse, :milkhouse_sqft, :minor_civil_division_code,
|
25
|
+
:minor_civil_division_name, :mobile_home_hookup, :mortgage_amount, :mortgage_amount_2, :mortgage_due_date, :mortgage_due_date_2, :mortgage_interest_rate, :mortgage_interest_rate_type, :mortgage_lender_code,
|
26
|
+
:mortgage_rate_2, :mortgage_recording_date, :mortgage_recording_date_2, :mortgage_term, :mortgage_term_2, :mortgage_term_type, :mortgage_term_type_2, :mortgage_type, :mortgage_type_2, :msa_code, :msa_name,
|
27
|
+
:mud_room, :multi_parcel_flag, :name_title_company, :neighborhood_code, :number_of_buildings, :office, :office_sqft, :other_tax_exemption, :outdoor_kitchen_fireplace, :overhead_door, :owner_full_name,
|
28
|
+
:owner_full_name_2, :owner_full_name_3, :owner_full_name_4, :owner_occupancy_status, :ownership_transfer_date, :ownership_transfer_doc_number, :ownership_transfer_transaction_id, :ownership_type,
|
29
|
+
:ownership_type_2, :ownership_vesting_relation_code, :parcel_account_number, :parcel_map_book, :parcel_map_page, :parcel_number_alternate, :parcel_number_formatted, :parcel_number_previous, :parcel_number_year_added,
|
30
|
+
:parcel_number_year_change, :parcel_raw_number, :parcel_shell_record, :parking_spaces, :patio_area, :phase_name, :plumbing_fixtures_count, :pole_struct, :pole_struct_sqft, :pond, :pool, :pool_area, :poolhouse,
|
31
|
+
:poolhouse_sqft, :porch, :porch_area, :poultry_house, :poultry_house_sqft, :previous_assessed_value, :prior_sale_amount, :prior_sale_date, :property_address_carrier_route_code, :property_address_city,
|
32
|
+
:property_address_full, :property_address_house_number, :property_address_post_direction, :property_address_pre_direction, :property_address_state, :property_address_street_name,
|
33
|
+
:property_address_street_suffix, :property_address_unit_designator, :property_address_unit_value, :property_address_zip_4, :property_address_zipcode, :publication_date,
|
34
|
+
:quarter, :quarter_quarter, :quonset, :quonset_sqft, :range, :recording_date, :roof_cover, :roof_frame, :rooms, :rv_parking, :safe_room, :sale_amount, :sale_date, :sauna,
|
35
|
+
:section, :security_alarm, :senior_tax_exemption, :sewer_type, :shed, :shed_sqft, :silo, :silo_sqft, :sitting_room, :situs_county, :situs_state, :sound_system, :sports_court,
|
36
|
+
:sprinklers, :stable, :stable_sqft, :storage_building, :storage_building_sqft, :stories_number, :storm_shelter, :storm_shutter, :structure_style, :study, :subdivision,
|
37
|
+
:suffix, :suffix_2, :suffix_3, :suffix_4, :sunroom, :tax_assess_year, :tax_billed_amount, :tax_delinquent_year, :tax_fiscal_year, :tax_jurisdiction, :tax_rate_area, :tennis_court,
|
38
|
+
:topography_code, :total_market_value, :township, :tract_number, :transfer_amount, :trust_description, :unit_count, :upper_floors_sqft, :utility, :utility_building,
|
39
|
+
:utility_building_sqft, :utility_sqft, :veteran_tax_exemption, :view_description, :water_feature, :water_service_type, :wet_bar, :widow_tax_exemption, :width_linear_footage,
|
40
|
+
:wine_cellar, :year_built, :zoning
|
41
|
+
|
42
|
+
def initialize(obj)
|
43
|
+
@first_floor_sqft = obj['1st_floor_sqft']
|
44
|
+
@second_floor_sqft = obj['2nd_floor_sqft']
|
45
|
+
@acres = obj['acres']
|
46
|
+
@air_conditioner = obj['air_conditioner']
|
47
|
+
@arbor_pergola = obj['arbor_pergola']
|
48
|
+
@assessed_improvement_percent = obj['assessed_improvement_percent']
|
49
|
+
@assessed_improvement_value = obj['assessed_improvement_value']
|
50
|
+
@assessed_land_value = obj['assessed_land_value']
|
51
|
+
@assessed_value = obj['assessed_value']
|
52
|
+
@assessor_last_update = obj['assessor_last_update']
|
53
|
+
@assessor_taxroll_update = obj['assessor_taxroll_update']
|
54
|
+
@attic_area = obj['attic_area']
|
55
|
+
@attic_flag = obj['attic_flag']
|
56
|
+
@balcony = obj['balcony']
|
57
|
+
@balcony_area = obj['balcony_area']
|
58
|
+
@basement_sqft = obj['basement_sqft']
|
59
|
+
@basement_sqft_finished = obj['basement_sqft_finished']
|
60
|
+
@basement_sqft_unfinished = obj['basement_sqft_unfinished']
|
61
|
+
@bath_house = obj['bath_house']
|
62
|
+
@bath_house_sqft = obj['bath_house_sqft']
|
63
|
+
@bathrooms_partial = obj['bathrooms_partial']
|
64
|
+
@bathrooms_total = obj['bathrooms_total']
|
65
|
+
@bedrooms = obj['bedrooms']
|
66
|
+
@block1 = obj['block1']
|
67
|
+
@block2 = obj['block2']
|
68
|
+
@boat_access = obj['boat_access']
|
69
|
+
@boat_house = obj['boat_house']
|
70
|
+
@boat_house_sqft = obj['boat_house_sqft']
|
71
|
+
@boat_lift = obj['boat_lift']
|
72
|
+
@bonus_room = obj['bonus_room']
|
73
|
+
@breakfast_nook = obj['breakfast_nook']
|
74
|
+
@breezeway = obj['breezeway']
|
75
|
+
@building_definition_code = obj['building_definition_code']
|
76
|
+
@building_sqft = obj['building_sqft']
|
77
|
+
@cabin = obj['cabin']
|
78
|
+
@cabin_sqft = obj['cabin_sqft']
|
79
|
+
@canopy = obj['canopy']
|
80
|
+
@canopy_sqft = obj['canopy_sqft']
|
81
|
+
@carport = obj['carport']
|
82
|
+
@carport_sqft = obj['carport_sqft']
|
83
|
+
@cbsa_code = obj['cbsa_code']
|
84
|
+
@cbsa_name = obj['cbsa_name']
|
85
|
+
@cellar = obj['cellar']
|
86
|
+
@census_block = obj['census_block']
|
87
|
+
@census_block_group = obj['census_block_group']
|
88
|
+
@census_fips_place_code = obj['census_fips_place_code']
|
89
|
+
@census_tract = obj['census_tract']
|
90
|
+
@central_vacuum = obj['central_vacuum']
|
91
|
+
@code_title_company = obj['code_title_company']
|
92
|
+
@combined_statistical_area = obj['combined_statistical_area']
|
93
|
+
@community_rec = obj['community_rec']
|
94
|
+
@company_flag = obj['company_flag']
|
95
|
+
@congressional_district = obj['congressional_district']
|
96
|
+
@construction_type = obj['construction_type']
|
97
|
+
@contact_city = obj['contact_city']
|
98
|
+
@contact_crrt = obj['contact_crrt']
|
99
|
+
@contact_full_address = obj['contact_full_address']
|
100
|
+
@contact_house_number = obj['contact_house_number']
|
101
|
+
@contact_mail_info_format = obj['contact_mail_info_format']
|
102
|
+
@contact_mail_info_privacy = obj['contact_mail_info_privacy']
|
103
|
+
@contact_mailing_county = obj['contact_mailing_county']
|
104
|
+
@contact_mailing_fips = obj['contact_mailing_fips']
|
105
|
+
@contact_post_direction = obj['contact_post_direction']
|
106
|
+
@contact_pre_direction = obj['contact_pre_direction']
|
107
|
+
@contact_state = obj['contact_state']
|
108
|
+
@contact_street_name = obj['contact_street_name']
|
109
|
+
@contact_suffix = obj['contact_suffix']
|
110
|
+
@contact_unit_designator = obj['contact_unit_designator']
|
111
|
+
@contact_value = obj['contact_value']
|
112
|
+
@contact_zip = obj['contact_zip']
|
113
|
+
@contact_zip4 = obj['contact_zip4']
|
114
|
+
@courtyard = obj['courtyard']
|
115
|
+
@courtyard_area = obj['courtyard_area']
|
116
|
+
@deck = obj['deck']
|
117
|
+
@deck_area = obj['deck_area']
|
118
|
+
@deed_document_page = obj['deed_document_page']
|
119
|
+
@deed_document_book = obj['deed_document_book']
|
120
|
+
@deed_document_number = obj['deed_document_number']
|
121
|
+
@deed_owner_first_name = obj['deed_owner_first_name']
|
122
|
+
@deed_owner_first_name2 = obj['deed_owner_first_name2']
|
123
|
+
@deed_owner_first_name3 = obj['deed_owner_first_name3']
|
124
|
+
@deed_owner_first_name4 = obj['deed_owner_first_name4']
|
125
|
+
@deed_owner_full_name = obj['deed_owner_full_name']
|
126
|
+
@deed_owner_full_name2 = obj['deed_owner_full_name2']
|
127
|
+
@deed_owner_full_name3 = obj['deed_owner_full_name3']
|
128
|
+
@deed_owner_full_name4 = obj['deed_owner_full_name4']
|
129
|
+
@deed_owner_last_name = obj['deed_owner_last_name']
|
130
|
+
@deed_owner_last_name2 = obj['deed_owner_last_name2']
|
131
|
+
@deed_owner_last_name3 = obj['deed_owner_last_name3']
|
132
|
+
@deed_owner_last_name4 = obj['deed_owner_last_name4']
|
133
|
+
@deed_owner_middle_name = obj['deed_owner_middle_name']
|
134
|
+
@deed_owner_middle_name2 = obj['deed_owner_middle_name2']
|
135
|
+
@deed_owner_middle_name3 = obj['deed_owner_middle_name3']
|
136
|
+
@deed_owner_middle_name4 = obj['deed_owner_middle_name4']
|
137
|
+
@deed_owner_suffix = obj['deed_owner_suffix']
|
138
|
+
@deed_owner_suffix2 = obj['deed_owner_suffix2']
|
139
|
+
@deed_owner_suffix3 = obj['deed_owner_suffix3']
|
140
|
+
@deed_owner_suffix4 = obj['deed_owner_suffix4']
|
141
|
+
@deed_sale_date = obj['deed_sale_date']
|
142
|
+
@deed_sale_price = obj['deed_sale_price']
|
143
|
+
@deed_transaction_id = obj['deed_transaction_id']
|
144
|
+
@depth_linear_footage = obj['depth_linear_footage']
|
145
|
+
@disabled_tax_exemption = obj['disabled_tax_exemption']
|
146
|
+
@driveway_sqft = obj['driveway_sqft']
|
147
|
+
@driveway_type = obj['driveway_type']
|
148
|
+
@effective_year_built = obj['effective_year_built']
|
149
|
+
@elevation_feet = obj['elevation_feet']
|
150
|
+
@elevator = obj['elevator']
|
151
|
+
@equestrian_arena = obj['equestrian_arena']
|
152
|
+
@escalator = obj['escalator']
|
153
|
+
@exercise_room = obj['exercise_room']
|
154
|
+
@exterior_walls = obj['exterior_walls']
|
155
|
+
@family_room = obj['family_room']
|
156
|
+
@fence = obj['fence']
|
157
|
+
@fence_area = obj['fence_area']
|
158
|
+
@fips_code = obj['fips_code']
|
159
|
+
@fire_resistance_code = obj['fire_resistance_code']
|
160
|
+
@fire_sprinklers_flag = obj['fire_sprinklers_flag']
|
161
|
+
@fireplace = obj['fireplace']
|
162
|
+
@fireplace_number = obj['fireplace_number']
|
163
|
+
@first_name = obj['first_name']
|
164
|
+
@first_name_2 = obj['first_name_2']
|
165
|
+
@first_name_3 = obj['first_name_3']
|
166
|
+
@first_name_4 = obj['first_name_4']
|
167
|
+
@flooring = obj['flooring']
|
168
|
+
@foundation = obj['foundation']
|
169
|
+
@game_room = obj['game_room']
|
170
|
+
@garage = obj['garage']
|
171
|
+
@garage_sqft = obj['garage_sqft']
|
172
|
+
@gazebo = obj['gazebo']
|
173
|
+
@gazebo_sqft = obj['gazebo_sqft']
|
174
|
+
@golf_course = obj['golf_course']
|
175
|
+
@grainery = obj['grainery']
|
176
|
+
@grainery_sqft = obj['grainery_sqft']
|
177
|
+
@great_room = obj['great_room']
|
178
|
+
@greenhouse = obj['greenhouse']
|
179
|
+
@greenhouse_sqft = obj['greenhouse_sqft']
|
180
|
+
@gross_sqft = obj['gross_sqft']
|
181
|
+
@guesthouse = obj['guesthouse']
|
182
|
+
@guesthouse_sqft = obj['guesthouse_sqft']
|
183
|
+
@handicap_accessibility = obj['handicap_accessibility']
|
184
|
+
@heat = obj['heat']
|
185
|
+
@heat_fuel_type = obj['heat_fuel_type']
|
186
|
+
@hobby_room = obj['hobby_room']
|
187
|
+
@homeowner_tax_exemption = obj['homeowner_tax_exemption']
|
188
|
+
@instrument_date = obj['instrument_date']
|
189
|
+
@intercom_system = obj['intercom_system']
|
190
|
+
@interest_rate_type_2 = obj['interest_rate_type_2']
|
191
|
+
@interior_structure = obj['interior_structure']
|
192
|
+
@kennel = obj['kennel']
|
193
|
+
@kennel_sqft = obj['kennel_sqft']
|
194
|
+
@land_use_code = obj['land_use_code']
|
195
|
+
@land_use_group = obj['land_use_group']
|
196
|
+
@land_use_standard = obj['land_use_standard']
|
197
|
+
@last_name = obj['last_name']
|
198
|
+
@last_name_2 = obj['last_name_2']
|
199
|
+
@last_name_3 = obj['last_name_3']
|
200
|
+
@last_name_4 = obj['last_name_4']
|
201
|
+
@latitude = obj['latitude']
|
202
|
+
@laundry = obj['laundry']
|
203
|
+
@lean_to = obj['lean_to']
|
204
|
+
@lean_to_sqft = obj['lean_to_sqft']
|
205
|
+
@legal_description = obj['legal_description']
|
206
|
+
@legal_unit = obj['legal_unit']
|
207
|
+
@lender_address = obj['lender_address']
|
208
|
+
@lender_address_2 = obj['lender_address_2']
|
209
|
+
@lender_city = obj['lender_city']
|
210
|
+
@lender_city_2 = obj['lender_city_2']
|
211
|
+
@lender_code_2 = obj['lender_code_2']
|
212
|
+
@lender_first_name = obj['lender_first_name']
|
213
|
+
@lender_first_name_2 = obj['lender_first_name_2']
|
214
|
+
@lender_last_name = obj['lender_last_name']
|
215
|
+
@lender_last_name_2 = obj['lender_last_name_2']
|
216
|
+
@lender_name = obj['lender_name']
|
217
|
+
@lender_name_2 = obj['lender_name_2']
|
218
|
+
@lender_seller_carry_back = obj['lender_seller_carry_back']
|
219
|
+
@lender_seller_carry_back_2 = obj['lender_seller_carry_back_2']
|
220
|
+
@lender_state = obj['lender_state']
|
221
|
+
@lender_state_2 = obj['lender_state_2']
|
222
|
+
@lender_zip = obj['lender_zip']
|
223
|
+
@lender_zip_2 = obj['lender_zip_2']
|
224
|
+
@lender_zip_extended = obj['lender_zip_extended']
|
225
|
+
@lender_zip_extended_2 = obj['lender_zip_extended_2']
|
226
|
+
@loading_platform = obj['loading_platform']
|
227
|
+
@loading_platform_sqft = obj['loading_platform_sqft']
|
228
|
+
@longitude = obj['longitude']
|
229
|
+
@lot_1 = obj['lot_1']
|
230
|
+
@lot_2 = obj['lot_2']
|
231
|
+
@lot_3 = obj['lot_3']
|
232
|
+
@lot_sqft = obj['lot_sqft']
|
233
|
+
@market_improvement_percent = obj['market_improvement_percent']
|
234
|
+
@market_improvement_value = obj['market_improvement_value']
|
235
|
+
@market_land_value = obj['market_land_value']
|
236
|
+
@market_value_year = obj['market_value_year']
|
237
|
+
@match_type = obj['match_type']
|
238
|
+
@media_room = obj['media_room']
|
239
|
+
@metro_division = obj['metro_division']
|
240
|
+
@middle_name = obj['middle_name']
|
241
|
+
@middle_name_2 = obj['middle_name_2']
|
242
|
+
@middle_name_3 = obj['middle_name_3']
|
243
|
+
@middle_name_4 = obj['middle_name_4']
|
244
|
+
@milkhouse = obj['milkhouse']
|
245
|
+
@milkhouse_sqft = obj['milkhouse_sqft']
|
246
|
+
@minor_civil_division_code = obj['minor_civil_division_code']
|
247
|
+
@minor_civil_division_name = obj['minor_civil_division_name']
|
248
|
+
@mobile_home_hookup = obj['mobile_home_hookup']
|
249
|
+
@mortgage_amount = obj['mortgage_amount']
|
250
|
+
@mortgage_amount_2 = obj['mortgage_amount_2']
|
251
|
+
@mortgage_due_date = obj['mortgage_due_date']
|
252
|
+
@mortgage_due_date_2 = obj['mortgage_due_date_2']
|
253
|
+
@mortgage_interest_rate = obj['mortgage_interest_rate']
|
254
|
+
@mortgage_interest_rate_type = obj['mortgage_interest_rate_type']
|
255
|
+
@mortgage_lender_code = obj['mortgage_lender_code']
|
256
|
+
@mortgage_rate_2 = obj['mortgage_rate_2']
|
257
|
+
@mortgage_recording_date = obj['mortgage_recording_date']
|
258
|
+
@mortgage_recording_date_2 = obj['mortgage_recording_date_2']
|
259
|
+
@mortgage_term = obj['mortgage_term']
|
260
|
+
@mortgage_term_2 = obj['mortgage_term_2']
|
261
|
+
@mortgage_term_type = obj['mortgage_term_type']
|
262
|
+
@mortgage_term_type_2 = obj['mortgage_term_type_2']
|
263
|
+
@mortgage_type = obj['mortgage_type']
|
264
|
+
@mortgage_type_2 = obj['mortgage_type_2']
|
265
|
+
@msa_code = obj['msa_code']
|
266
|
+
@msa_name = obj['msa_name']
|
267
|
+
@mud_room = obj['mud_room']
|
268
|
+
@multi_parcel_flag = obj['multi_parcel_flag']
|
269
|
+
@name_title_company = obj['name_title_company']
|
270
|
+
@neighborhood_code = obj['neighborhood_code']
|
271
|
+
@number_of_buildings = obj['number_of_buildings']
|
272
|
+
@office = obj['office']
|
273
|
+
@office_sqft = obj['office_sqft']
|
274
|
+
@other_tax_exemption = obj['other_tax_exemption']
|
275
|
+
@outdoor_kitchen_fireplace = obj['outdoor_kitchen_fireplace']
|
276
|
+
@overhead_door = obj['overhead_door']
|
277
|
+
@owner_full_name = obj['owner_full_name']
|
278
|
+
@owner_full_name_2 = obj['owner_full_name_2']
|
279
|
+
@owner_full_name_3 = obj['owner_full_name_3']
|
280
|
+
@owner_full_name_4 = obj['owner_full_name_4']
|
281
|
+
@owner_occupancy_status = obj['owner_occupancy_status']
|
282
|
+
@ownership_transfer_date = obj['ownership_transfer_date']
|
283
|
+
@ownership_transfer_doc_number = obj['ownership_transfer_doc_number']
|
284
|
+
@ownership_transfer_transaction_id = obj['ownership_transfer_transaction_id']
|
285
|
+
@ownership_type = obj['ownership_type']
|
286
|
+
@ownership_type_2 = obj['ownership_type_2']
|
287
|
+
@ownership_vesting_relation_code = obj['ownership_vesting_relation_code']
|
288
|
+
@parcel_account_number = obj['parcel_account_number']
|
289
|
+
@parcel_map_book = obj['parcel_map_book']
|
290
|
+
@parcel_map_page = obj['parcel_map_page']
|
291
|
+
@parcel_number_alternate = obj['parcel_number_alternate']
|
292
|
+
@parcel_number_formatted = obj['parcel_number_formatted']
|
293
|
+
@parcel_number_previous = obj['parcel_number_previous']
|
294
|
+
@parcel_number_year_added = obj['parcel_number_year_added']
|
295
|
+
@parcel_number_year_change = obj['parcel_number_year_change']
|
296
|
+
@parcel_raw_number = obj['parcel_raw_number']
|
297
|
+
@parcel_shell_record = obj['parcel_shell_record']
|
298
|
+
@parking_spaces = obj['parking_spaces']
|
299
|
+
@patio_area = obj['patio_area']
|
300
|
+
@phase_name = obj['phase_name']
|
301
|
+
@plumbing_fixtures_count = obj['plumbing_fixtures_count']
|
302
|
+
@pole_struct = obj['pole_struct']
|
303
|
+
@pole_struct_sqft = obj['pole_struct_sqft']
|
304
|
+
@pond = obj['pond']
|
305
|
+
@pool = obj['pool']
|
306
|
+
@pool_area = obj['pool_area']
|
307
|
+
@poolhouse = obj['poolhouse']
|
308
|
+
@poolhouse_sqft = obj['poolhouse_sqft']
|
309
|
+
@porch = obj['porch']
|
310
|
+
@porch_area = obj['porch_area']
|
311
|
+
@poultry_house = obj['poultry_house']
|
312
|
+
@poultry_house_sqft = obj['poultry_house_sqft']
|
313
|
+
@previous_assessed_value = obj['previous_assessed_value']
|
314
|
+
@prior_sale_amount = obj['prior_sale_amount']
|
315
|
+
@prior_sale_date = obj['prior_sale_date']
|
316
|
+
@property_address_carrier_route_code = obj['property_address_carrier_route_code']
|
317
|
+
@property_address_city = obj['property_address_city']
|
318
|
+
@property_address_full = obj['property_address_full']
|
319
|
+
@property_address_house_number = obj['property_address_house_number']
|
320
|
+
@property_address_post_direction = obj['property_address_post_direction']
|
321
|
+
@property_address_pre_direction = obj['property_address_pre_direction']
|
322
|
+
@property_address_state = obj['property_address_state']
|
323
|
+
@property_address_street_name = obj['property_address_street_name']
|
324
|
+
@property_address_street_suffix = obj['property_address_street_suffix']
|
325
|
+
@property_address_unit_designator = obj['property_address_unit_designator']
|
326
|
+
@property_address_unit_value = obj['property_address_unit_value']
|
327
|
+
@property_address_zip_4 = obj['property_address_zip_4']
|
328
|
+
@property_address_zipcode = obj['property_address_zipcode']
|
329
|
+
@publication_date = obj['publication_date']
|
330
|
+
@quarter = obj['quarter']
|
331
|
+
@quarter_quarter = obj['quarter_quarter']
|
332
|
+
@quonset = obj['quonset']
|
333
|
+
@quonset_sqft = obj['quonset_sqft']
|
334
|
+
@range = obj['range']
|
335
|
+
@recording_date = obj['recording_date']
|
336
|
+
@roof_cover = obj['roof_cover']
|
337
|
+
@roof_frame = obj['roof_frame']
|
338
|
+
@rooms = obj['rooms']
|
339
|
+
@rv_parking = obj['rv_parking']
|
340
|
+
@safe_room = obj['safe_room']
|
341
|
+
@sale_amount = obj['sale_amount']
|
342
|
+
@sale_date = obj['sale_date']
|
343
|
+
@sauna = obj['sauna']
|
344
|
+
@section = obj['section']
|
345
|
+
@security_alarm = obj['security_alarm']
|
346
|
+
@senior_tax_exemption = obj['senior_tax_exemption']
|
347
|
+
@sewer_type = obj['sewer_type']
|
348
|
+
@shed = obj['shed']
|
349
|
+
@shed_sqft = obj['shed_sqft']
|
350
|
+
@silo = obj['silo']
|
351
|
+
@silo_sqft = obj['silo_sqft']
|
352
|
+
@sitting_room = obj['sitting_room']
|
353
|
+
@situs_county = obj['situs_county']
|
354
|
+
@situs_state = obj['situs_state']
|
355
|
+
@sound_system = obj['sound_system']
|
356
|
+
@sports_court = obj['sports_court']
|
357
|
+
@sprinklers = obj['sprinklers']
|
358
|
+
@stable = obj['stable']
|
359
|
+
@stable_sqft = obj['stable_sqft']
|
360
|
+
@storage_building = obj['storage_building']
|
361
|
+
@storage_building_sqft = obj['storage_building_sqft']
|
362
|
+
@stories_number = obj['stories_number']
|
363
|
+
@storm_shelter = obj['storm_shelter']
|
364
|
+
@storm_shutter = obj['storm_shutter']
|
365
|
+
@structure_style = obj['structure_style']
|
366
|
+
@study = obj['study']
|
367
|
+
@subdivision = obj['subdivision']
|
368
|
+
@suffix = obj['suffix']
|
369
|
+
@suffix_2 = obj['suffix_2']
|
370
|
+
@suffix_3 = obj['suffix_3']
|
371
|
+
@suffix_4 = obj['suffix_4']
|
372
|
+
@sunroom = obj['sunroom']
|
373
|
+
@tax_assess_year = obj['tax_assess_year']
|
374
|
+
@tax_billed_amount = obj['tax_billed_amount']
|
375
|
+
@tax_delinquent_year = obj['tax_delinquent_year']
|
376
|
+
@tax_fiscal_year = obj['tax_fiscal_year']
|
377
|
+
@tax_jurisdiction = obj['tax_jurisdiction']
|
378
|
+
@tax_rate_area = obj['tax_rate_area']
|
379
|
+
@tennis_court = obj['tennis_court']
|
380
|
+
@topography_code = obj['topography_code']
|
381
|
+
@total_market_value = obj['total_market_value']
|
382
|
+
@township = obj['township']
|
383
|
+
@tract_number = obj['tract_number']
|
384
|
+
@transfer_amount = obj['transfer_amount']
|
385
|
+
@trust_description = obj['trust_description']
|
386
|
+
@unit_count = obj['unit_count']
|
387
|
+
@upper_floors_sqft = obj['upper_floors_sqft']
|
388
|
+
@utility = obj['utility']
|
389
|
+
@utility_building = obj['utility_building']
|
390
|
+
@utility_building_sqft = obj['utility_building_sqft']
|
391
|
+
@utility_sqft = obj['utility_sqft']
|
392
|
+
@veteran_tax_exemption = obj['veteran_tax_exemption']
|
393
|
+
@view_description = obj['view_description']
|
394
|
+
@water_feature = obj['water_feature']
|
395
|
+
@water_service_type = obj['water_service_type']
|
396
|
+
@wet_bar = obj['wet_bar']
|
397
|
+
@widow_tax_exemption = obj['widow_tax_exemption']
|
398
|
+
@width_linear_footage = obj['width_linear_footage']
|
399
|
+
@wine_cellar = obj['wine_cellar']
|
400
|
+
@year_built = obj['year_built']
|
401
|
+
@zoning = obj['zoning']
|
402
|
+
end
|
403
|
+
end
|
404
|
+
end
|
405
|
+
end
|
406
|
+
end
|
407
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module SmartyStreets
|
2
|
+
module USEnrichment
|
3
|
+
module Property
|
4
|
+
module Principal
|
5
|
+
class Lookup
|
6
|
+
attr_reader :smarty_key, :data_set, :data_sub_set
|
7
|
+
|
8
|
+
def initialize(smarty_key)
|
9
|
+
@smarty_key = smarty_key
|
10
|
+
@data_set = "property"
|
11
|
+
@data_sub_set = "principal"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative "attributes"
|
2
|
+
|
3
|
+
module SmartyStreets
|
4
|
+
module USEnrichment
|
5
|
+
module Property
|
6
|
+
module Principal
|
7
|
+
class Response
|
8
|
+
attr_reader :smarty_key, :data_set, :data_sub_set, :attributes
|
9
|
+
|
10
|
+
def initialize(obj)
|
11
|
+
@smarty_key = obj['smarty_key']
|
12
|
+
@data_set = obj['data_set']
|
13
|
+
@data_sub_set = obj['data_sub_set']
|
14
|
+
@attributes = Attributes.new(obj['attributes'])
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative './us_enrichment/property/financial/attributes'
|
2
|
+
require_relative './us_enrichment/property/financial/history_entry'
|
3
|
+
require_relative './us_enrichment/property/financial/response'
|
4
|
+
require_relative './us_enrichment/property/financial/lookup'
|
5
|
+
|
6
|
+
require_relative './us_enrichment/property/principal/attributes'
|
7
|
+
require_relative './us_enrichment/property/principal/response'
|
8
|
+
require_relative './us_enrichment/property/principal/lookup'
|
9
|
+
|
10
|
+
require_relative './us_enrichment/client'
|
11
|
+
|
12
|
+
module SmartyStreets
|
13
|
+
module USEnrichment
|
14
|
+
end
|
15
|
+
end
|
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: 5.
|
4
|
+
version: 5.17.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: 2024-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,7 @@ files:
|
|
94
94
|
- examples/international_autocomplete_example.rb
|
95
95
|
- examples/international_example.rb
|
96
96
|
- examples/us_autocomplete_pro_example.rb
|
97
|
+
- examples/us_enrichment_example.rb
|
97
98
|
- examples/us_extract_example.rb
|
98
99
|
- examples/us_reverse_geo_example.rb
|
99
100
|
- examples/us_street_multiple_address_example.rb
|
@@ -145,6 +146,15 @@ files:
|
|
145
146
|
- lib/smartystreets_ruby_sdk/us_autocomplete_pro/geolocation_type.rb
|
146
147
|
- lib/smartystreets_ruby_sdk/us_autocomplete_pro/lookup.rb
|
147
148
|
- lib/smartystreets_ruby_sdk/us_autocomplete_pro/suggestion.rb
|
149
|
+
- lib/smartystreets_ruby_sdk/us_enrichment.rb
|
150
|
+
- lib/smartystreets_ruby_sdk/us_enrichment/client.rb
|
151
|
+
- lib/smartystreets_ruby_sdk/us_enrichment/property/financial/attributes.rb
|
152
|
+
- lib/smartystreets_ruby_sdk/us_enrichment/property/financial/history_entry.rb
|
153
|
+
- lib/smartystreets_ruby_sdk/us_enrichment/property/financial/lookup.rb
|
154
|
+
- lib/smartystreets_ruby_sdk/us_enrichment/property/financial/response.rb
|
155
|
+
- lib/smartystreets_ruby_sdk/us_enrichment/property/principal/attributes.rb
|
156
|
+
- lib/smartystreets_ruby_sdk/us_enrichment/property/principal/lookup.rb
|
157
|
+
- lib/smartystreets_ruby_sdk/us_enrichment/property/principal/response.rb
|
148
158
|
- lib/smartystreets_ruby_sdk/us_extract.rb
|
149
159
|
- lib/smartystreets_ruby_sdk/us_extract/address.rb
|
150
160
|
- lib/smartystreets_ruby_sdk/us_extract/client.rb
|