smartystreets_ruby_sdk 5.16.1 → 5.17.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c629c1218193db7dd091c494a9d3e959b042840048dd8ca59e6edb2611cc8d97
4
- data.tar.gz: bc8b94aa6c5ca3260369b2c316c44bac034716130356ca72bb2d45e3aa775e55
3
+ metadata.gz: fed19bd2469aa03cd270c2f197841455ebbdb3fcb99b6741d72473d733add865
4
+ data.tar.gz: c31d18f7205da476966dbe9337958b67b31c00aec4230b6516afc232048530eb
5
5
  SHA512:
6
- metadata.gz: ce8939abf1b6e7ce1f873977f05571340d926770a525ee35bae45ca7c6e177f715063485fdf67ebf9b57e3d5728f29d6464bc88832178492948b8493afb1dd1d
7
- data.tar.gz: 15ba960c2716f58bf035c76d9065e6928920935c16dbbe5bda7dbf550cf27af7c8c3fc80bac060fed0765e1e7681dc67d7340e764bab017bcfe92ac785f303bc
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
@@ -1,5 +1,4 @@
1
1
  require_relative './international_autocomplete/lookup'
2
- require_relative './international_autocomplete/international_geolocation_type'
3
2
  require_relative './international_autocomplete/suggestion'
4
3
  require_relative './international_autocomplete/client'
5
4
 
@@ -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
@@ -1,3 +1,3 @@
1
1
  module SmartyStreets
2
- VERSION = '5.16.1' # DO NOT EDIT (this is updated by a build job when a new release is published)
2
+ VERSION = '5.17.0' # DO NOT EDIT (this is updated by a build job when a new release is published)
3
3
  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.16.1
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: 2023-11-14 00:00:00.000000000 Z
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