smartystreets_ruby_sdk 5.8.0 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 535dcd015e5d60cfb19fceef8fcaaf21571bc32a1273e59f8b21b3fcb71e7361
4
- data.tar.gz: f994e9282f74263c7fbdc411c7a90cc5a41f04cdfe58fd7d5a41668e8ce90090
3
+ metadata.gz: df457cd42e87bc1addf658ff0d64ba1a0150861252ac10ae2d5207c4c5311836
4
+ data.tar.gz: 917654d4567954241f85856f8673a6527343fa5196112c5595f76fc840194527
5
5
  SHA512:
6
- metadata.gz: 503dd289bba672c6068784ca929a14b265a57f80f30e5faa9840a3962b67937c0a200e8ad450783077723d0eff1ff8e7681dafc6a4d98d4fe6ac68171ac17cf8
7
- data.tar.gz: ea7e7babd854b053bdda4ddfc43ad88f47c6b12ed26a53f2681b72635a191b46b3e70e46c5cd15d292d146d8ba546251acf129e4dcb81260bb499d1b499c36dc
6
+ metadata.gz: 9084938032f85260ba05d9fcd2b8e9866662735e637c290571b80309d8946ad2e03f403bff712704a69c352f26786bfaa2abf2a740455fe98cea6af903007c83
7
+ data.tar.gz: 809a899686525b6d8cfd57e36a8832d0671c90bb4269a92d295e898bb314d9460dd2efafff4e277643382fc857d4540b1578b267692bafb4f60c4a61f2189cc2
@@ -14,7 +14,11 @@ class InternationalExample
14
14
  # auth_token = ENV['SMARTY_AUTH_TOKEN']
15
15
 
16
16
  credentials = SmartyStreets::StaticCredentials.new(auth_id, auth_token)
17
- client = SmartyStreets::ClientBuilder.new(credentials) # .with_licenses(%w(international-fake-license))
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
+ client = SmartyStreets::ClientBuilder.new(credentials).with_licenses(%w('international-global-plus-cloud'))
18
22
  .build_international_street_api_client
19
23
 
20
24
  # Documentation for input fields can be found at:
@@ -0,0 +1,48 @@
1
+ require 'smartystreets_ruby_sdk/shared_credentials'
2
+ require '../lib/smartystreets_ruby_sdk/client_builder'
3
+ require '../lib/smartystreets_ruby_sdk/us_autocomplete_pro/lookup'
4
+
5
+ class USAutocompleteProExample
6
+ Lookup = SmartyStreets::USAutocompletePro::Lookup
7
+
8
+ def run
9
+ # key = 'Your SmartyStreets Auth ID here'
10
+ # hostname = 'Your SmartyStreets Auth Token here'
11
+
12
+ # We recommend storing your secret keys in environment variables instead---it's safer!
13
+ key = ENV['SMARTY_AUTH_WEB']
14
+ referer = ENV['SMARTY_AUTH_REFERER']
15
+
16
+ credentials = SmartyStreets::SharedCredentials.new(key, referer)
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
+ client = SmartyStreets::ClientBuilder.new(credentials).with_licenses(%w('us-autocomplete-pro-cloud'))
22
+ .build_us_autocomplete_pro_api_client
23
+
24
+ # Documentation for input fields can be found at:
25
+ # https://smartystreets.com/docs/cloud/us-autocomplete-api
26
+
27
+ lookup = Lookup.new('4770 Lincoln Ave O')
28
+ lookup.max_results = 10
29
+ lookup.add_city_filter('Ogden')
30
+ lookup.add_state_filter('IL')
31
+ lookup.max_results = 5
32
+ lookup.prefer_ratio = 3
33
+
34
+ suggestions = client.send(lookup) # The client will also return the suggestions directly
35
+
36
+ puts
37
+ puts '*** Result with some filters ***'
38
+ puts
39
+
40
+ suggestions.each do |suggestion|
41
+ puts "#{suggestion.street_line} #{suggestion.city}, #{suggestion.state}"
42
+ end
43
+
44
+ end
45
+ end
46
+
47
+ USAutocompleteProExample.new.run
48
+
@@ -0,0 +1,47 @@
1
+ require 'smartystreets_ruby_sdk/static_credentials'
2
+ require '../lib/smartystreets_ruby_sdk/client_builder'
3
+ require '../lib/smartystreets_ruby_sdk/us_reverse_geo/lookup'
4
+
5
+ class USReverseGeoExample
6
+ Lookup = SmartyStreets::USReverseGeo::Lookup
7
+
8
+ def run
9
+ auth_id = 'Your SmartyStreets Auth ID here'
10
+ auth_token = 'Your SmartyStreets Auth Token here'
11
+
12
+ # We recommend storing your secret keys in environment variables instead---it's safer!
13
+ # auth_id = ENV['SMARTY_AUTH_ID']
14
+ # auth_token = ENV['SMARTY_AUTH_TOKEN']
15
+
16
+ credentials = SmartyStreets::StaticCredentials.new(auth_id, auth_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
+ client = SmartyStreets::ClientBuilder.new(credentials).with_licenses(%w('us-reverse-geocoding-cloud'))
22
+ .build_us_reverse_geo_api_client
23
+
24
+ # Documentation for input fields can be found at:
25
+ # https://smartystreets.com/docs/cloud/us-reverse-geo-api#http-request-input-fields
26
+
27
+ lookup = Lookup.new(40.111111, -111.111111)
28
+
29
+ response = client.send(lookup)
30
+ result = response.results[0]
31
+
32
+ coordinate = result.coordinate
33
+ puts "Latitude: #{coordinate.latitude}"
34
+ puts "Longitude: #{coordinate.longitude}\n"
35
+
36
+ puts "Distance: #{result.distance}\n"
37
+
38
+ address = result.address
39
+ puts "Street: #{address.street}"
40
+ puts "City: #{address.city}"
41
+ puts "State Abbreviation: #{address.state_abbreviation}"
42
+ puts "ZIP Code: #{address.zipcode}"
43
+ puts "License: #{coordinate.get_license}"
44
+ end
45
+ end
46
+
47
+ USReverseGeoExample.new.run
@@ -16,7 +16,10 @@ class USStreetMultipleAddressExample
16
16
 
17
17
  credentials = SmartyStreets::StaticCredentials.new(auth_id, auth_token)
18
18
 
19
- client = SmartyStreets::ClientBuilder.new(credentials) # .with_licenses(%w(us-rooftop-geocoding-cloud))
19
+ # The appropriate license values to be used for your subscriptions
20
+ # can be found on the Subscriptions page of the account dashboard.
21
+ # https://www.smartystreets.com/docs/cloud/licensing
22
+ client = SmartyStreets::ClientBuilder.new(credentials).with_licenses(%w('us-rooftop-geocoding-cloud'))
20
23
  .build_us_street_api_client
21
24
  batch = SmartyStreets::Batch.new
22
25
 
@@ -13,7 +13,10 @@ class USStreetSingleAddressExample
13
13
 
14
14
  credentials = SmartyStreets::StaticCredentials.new(auth_id, auth_token)
15
15
 
16
- client = SmartyStreets::ClientBuilder.new(credentials).
16
+ # The appropriate license values to be used for your subscriptions
17
+ # can be found on the Subscriptions page of the account dashboard.
18
+ # https://www.smartystreets.com/docs/cloud/licensing
19
+ client = SmartyStreets::ClientBuilder.new(credentials).with_licenses(%w('us-rooftop-geocoding-cloud'))
17
20
  # with_proxy('localhost', 8080, 'proxyUser', 'proxyPassword'). # Uncomment this line to try it with a proxy
18
21
  build_us_street_api_client
19
22
 
@@ -25,7 +25,9 @@ require 'smartystreets_ruby_sdk/us_extract'
25
25
  require 'smartystreets_ruby_sdk/us_street'
26
26
  require 'smartystreets_ruby_sdk/us_zipcode'
27
27
  require 'smartystreets_ruby_sdk/us_autocomplete'
28
+ require 'smartystreets_ruby_sdk/us_autocomplete_pro'
28
29
  require 'smartystreets_ruby_sdk/international_street'
30
+ require 'smartystreets_ruby_sdk/us_reverse_geo'
29
31
 
30
32
  module SmartyStreets
31
33
  end
@@ -14,6 +14,8 @@ require_relative 'us_zipcode/client'
14
14
  require_relative 'us_extract/client'
15
15
  require_relative 'us_autocomplete/client'
16
16
  require_relative 'international_street/client'
17
+ require_relative 'us_reverse_geo/client'
18
+ require_relative 'us_autocomplete_pro/client'
17
19
 
18
20
  module SmartyStreets
19
21
  # The ClientBuilder class helps you build a client object for one of the supported SmartyStreets APIs.
@@ -22,9 +24,11 @@ module SmartyStreets
22
24
  class ClientBuilder
23
25
  INTERNATIONAL_STREET_API_URL = 'https://international-street.api.smartystreets.com/verify'.freeze
24
26
  US_AUTOCOMPLETE_API_URL = 'https://us-autocomplete.api.smartystreets.com/suggest'.freeze
27
+ US_AUTOCOMPLETE_PRO_API_URL = 'https://us-autocomplete-pro.api.smartystreets.com/lookup'.freeze
25
28
  US_EXTRACT_API_URL = 'https://us-extract.api.smartystreets.com/'.freeze
26
29
  US_STREET_API_URL = 'https://us-street.api.smartystreets.com/street-address'.freeze
27
30
  US_ZIP_CODE_API_URL = 'https://us-zipcode.api.smartystreets.com/lookup'.freeze
31
+ US_REVERSE_GEO_API_URL = 'https://us-reverse-geo.api.smartystreets.com/lookup'.freeze
28
32
 
29
33
  def initialize(signer)
30
34
  @signer = signer
@@ -126,6 +130,11 @@ module SmartyStreets
126
130
  USAutocomplete::Client.new(build_sender, @serializer)
127
131
  end
128
132
 
133
+ def build_us_autocomplete_pro_api_client
134
+ ensure_url_prefix_not_null(US_AUTOCOMPLETE_PRO_API_URL)
135
+ USAutocompletePro::Client.new(build_sender, @serializer)
136
+ end
137
+
129
138
  def build_us_extract_api_client
130
139
  ensure_url_prefix_not_null(US_EXTRACT_API_URL)
131
140
  USExtract::Client.new(build_sender, @serializer)
@@ -141,6 +150,11 @@ module SmartyStreets
141
150
  USZipcode::Client.new(build_sender, @serializer)
142
151
  end
143
152
 
153
+ def build_us_reverse_geo_api_client
154
+ ensure_url_prefix_not_null(US_REVERSE_GEO_API_URL)
155
+ USReverseGeo::Client.new(build_sender, @serializer)
156
+ end
157
+
144
158
  # </editor-fold>
145
159
 
146
160
  def build_sender
@@ -50,8 +50,10 @@ module SmartyStreets
50
50
  def convert_candidates(raw_candidates)
51
51
  candidates = []
52
52
 
53
- raw_candidates.each do |candidate|
54
- candidates.push(Candidate.new(candidate))
53
+ unless raw_candidates.nil?
54
+ raw_candidates.each do |candidate|
55
+ candidates.push(Candidate.new(candidate))
56
+ end
55
57
  end
56
58
 
57
59
  candidates
@@ -6,7 +6,7 @@ module SmartyStreets
6
6
  end
7
7
 
8
8
  def sign(request)
9
- request.parameters['auth-id'] = @id
9
+ request.parameters['key'] = @id
10
10
  request.referer = @host_name
11
11
  end
12
12
  end
@@ -0,0 +1,10 @@
1
+ require_relative './us_autocomplete_pro/lookup'
2
+ require_relative './us_autocomplete_pro/geolocation_type'
3
+ require_relative './us_autocomplete_pro/suggestion'
4
+ require_relative './us_autocomplete_pro/client'
5
+
6
+ module SmartyStreets
7
+ module USAutocompletePro
8
+ end
9
+ end
10
+
@@ -0,0 +1,77 @@
1
+ require_relative '../request'
2
+ require_relative '../exceptions'
3
+ require_relative 'geolocation_type'
4
+ require_relative 'suggestion'
5
+
6
+ module SmartyStreets
7
+ module USAutocompletePro
8
+ # It is recommended to instantiate this class using ClientBuilder.build_us_autocomplete_pro_api_client
9
+ class Client
10
+ def initialize(sender, serializer)
11
+ @sender = sender
12
+ @serializer = serializer
13
+ end
14
+
15
+ # Sends a Lookup object to the US Autocomplete Pro API and stores the result in the Lookup's result field.
16
+ def send(lookup)
17
+ if not lookup or not lookup.search
18
+ raise SmartyStreets::SmartyError, 'Send() must be passed a Lookup with the prefix field set.'
19
+ end
20
+
21
+ request = build_request(lookup)
22
+
23
+ response = @sender.send(request)
24
+
25
+ raise response.error if response.error
26
+
27
+ result = @serializer.deserialize(response.payload)
28
+ suggestions = convert_suggestions(result.fetch('suggestions', []))
29
+ lookup.result = suggestions
30
+ end
31
+
32
+
33
+ def build_request(lookup)
34
+ request = Request.new
35
+
36
+ add_parameter(request, 'search', lookup.search)
37
+ add_parameter(request, 'max_results', lookup.max_results.to_s)
38
+ add_parameter(request, 'include_only_cities', build_filter_string(lookup.city_filter))
39
+ add_parameter(request, 'include_only_states', build_filter_string(lookup.state_filter))
40
+ add_parameter(request, 'include_only_zip_codes', build_filter_string(lookup.zip_filter))
41
+ add_parameter(request, 'exclude_states', build_filter_string(lookup.exclude_states))
42
+ add_parameter(request, 'prefer_cities', build_filter_string(lookup.prefer_cities))
43
+ add_parameter(request, 'prefer_states', build_filter_string(lookup.prefer_states))
44
+ add_parameter(request, 'prefer_zip_codes', build_filter_string(lookup.prefer_zip_codes))
45
+ add_parameter(request, 'prefer_ratio', lookup.prefer_ratio.to_s)
46
+ if lookup.prefer_zip_codes or lookup.zip_filter
47
+ request.parameters['prefer_geolocation'] = GeolocationType::NONE
48
+ else
49
+ add_parameter(request, 'prefer_geolocation', lookup.prefer_geolocation)
50
+ end
51
+ add_parameter(request, 'selected', lookup.selected)
52
+
53
+ request
54
+ end
55
+
56
+ def build_filter_string(filter_list)
57
+ filter_list ? filter_list.join(',') : nil
58
+ end
59
+
60
+ def convert_suggestions(suggestion_hashes)
61
+ converted_suggestions = []
62
+ return converted_suggestions if suggestion_hashes.nil?
63
+
64
+ suggestion_hashes.each do |suggestion|
65
+ converted_suggestions.push(USAutocompletePro::Suggestion.new(suggestion))
66
+ end
67
+
68
+ converted_suggestions
69
+ end
70
+
71
+ def add_parameter(request, key, value)
72
+ request.parameters[key] = value unless value.nil? or value.empty?
73
+ end
74
+ end
75
+ end
76
+ end
77
+
@@ -0,0 +1,8 @@
1
+ module SmartyStreets
2
+ module USAutocompletePro
3
+ module GeolocationType
4
+ CITY = 'city'
5
+ NONE = 'none'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,61 @@
1
+ require_relative '../json_able'
2
+
3
+ module SmartyStreets
4
+ module USAutocompletePro
5
+ # In addition to holding all of the input data for this lookup, this class also will contain the result
6
+ # of the lookup after it comes back from the API.
7
+ #
8
+ # See "https://smartystreets.com/docs/cloud/us-autocomplete-api#http-request-input-fields"
9
+ class Lookup < JSONAble
10
+
11
+ attr_accessor :result, :search, :max_results, :city_filter, :state_filter, :zip_filter,
12
+ :exclude_states, :prefer_cities, :prefer_states, :prefer_zip_codes, :prefer_ratio, :prefer_geolocation, :selected
13
+
14
+ def initialize(search=nil, max_results=nil, city_filter=nil, state_filter=nil, zip_filter=nil,
15
+ exclude_states=nil, prefer_cities=nil, prefer_states=nil, prefer_zips=nil, prefer_ratio=nil,
16
+ prefer_geolocation=nil, selected=nil)
17
+ @result = []
18
+ @search = search
19
+ @max_results = max_results
20
+ @city_filter = city_filter ? city_filter : []
21
+ @state_filter = state_filter ? state_filter : []
22
+ @zip_filter = zip_filter ? zip_filter : []
23
+ @exclude_states = exclude_states ? exclude_states : []
24
+ @prefer_cities = prefer_cities ? prefer_cities : []
25
+ @prefer_states = prefer_states ? prefer_states : []
26
+ @prefer_zip_codes = prefer_zips ? prefer_zips : []
27
+ @prefer_ratio = prefer_ratio
28
+ @prefer_geolocation = prefer_geolocation
29
+ @selected = selected
30
+ end
31
+
32
+ def add_city_filter(city)
33
+ @city_filter.push(city)
34
+ end
35
+
36
+ def add_state_filter(state)
37
+ @state_filter.push(state)
38
+ end
39
+
40
+ def add_zip_filter(zip)
41
+ @zip_filter.push(zip)
42
+ end
43
+
44
+ def add_state_exclusion(state)
45
+ @exclude_states.push(state)
46
+ end
47
+
48
+ def add_preferred_city(city)
49
+ @prefer_cities.push(city)
50
+ end
51
+
52
+ def add_preferred_state(state)
53
+ @prefer_states.push(state)
54
+ end
55
+
56
+ def add_preferred_zip(zip)
57
+ @prefer_zip_codes.push(zip)
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,18 @@
1
+ module SmartyStreets
2
+ module USAutocompletePro
3
+ # See "https://smartystreets.com/docs/cloud/us-autocomplete-api#http-response"
4
+ class Suggestion
5
+
6
+ attr_reader :street_line, :secondary, :city, :state, :zipcode, :entries
7
+
8
+ def initialize(obj)
9
+ @street_line = obj.fetch('street_line', nil)
10
+ @secondary = obj.fetch('secondary', nil)
11
+ @city = obj.fetch('city', nil)
12
+ @state = obj.fetch('state', nil)
13
+ @zipcode = obj.fetch('zipcode', nil)
14
+ @entries = obj.fetch('entries', 0)
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ require_relative './us_reverse_geo/address'
2
+ require_relative './us_reverse_geo/client'
3
+ require_relative './us_reverse_geo/coordinate'
4
+ require_relative './us_reverse_geo/lookup'
5
+ require_relative './us_reverse_geo/result'
6
+ require_relative './us_reverse_geo/us_reverse_geo_response'
7
+
8
+ module SmartyStreets
9
+ module USReverseGeo
10
+ end
11
+ end
12
+
@@ -0,0 +1,16 @@
1
+ module SmartyStreets
2
+ module USReverseGeo
3
+ # See "https://smartystreets.com/docs/cloud/us-reverse-geo-api#address"
4
+ class Address
5
+ attr_reader :street, :city, :state_abbreviation, :zipcode
6
+
7
+ def initialize(obj)
8
+ @street = obj['street']
9
+ @city = obj['city']
10
+ @state_abbreviation = obj['state_abbreviation']
11
+ @zipcode = obj['zipcode']
12
+ end
13
+ end
14
+ end
15
+ end
16
+
@@ -0,0 +1,38 @@
1
+ require_relative '../request'
2
+ require_relative 'us_reverse_geo_response'
3
+
4
+ module SmartyStreets
5
+ module USReverseGeo
6
+ # It is recommended to instantiate this class using ClientBuilder.build_us_reverse_geo_api_client()
7
+ class Client
8
+ def initialize(sender, serializer)
9
+ @sender = sender
10
+ @serializer = serializer
11
+ end
12
+
13
+ # Sends a Lookup object to the US Reverse Geo API and stores the result in the Lookup's response field.
14
+ def send(lookup)
15
+ request = build_request(lookup)
16
+
17
+ response = @sender.send(request)
18
+
19
+ raise response.error if response.error
20
+
21
+ lookup.response = Response.new(@serializer.deserialize(response.payload))
22
+ end
23
+
24
+ def build_request(lookup)
25
+ request = SmartyStreets::Request.new
26
+
27
+ add_parameter(request, 'latitude', lookup.latitude)
28
+ add_parameter(request, 'longitude', lookup.longitude)
29
+
30
+ request
31
+ end
32
+
33
+ def add_parameter(request, key, value)
34
+ request.parameters[key] = value unless value.nil? or value.empty?
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,25 @@
1
+ module SmartyStreets
2
+ module USReverseGeo
3
+ # See "https://smartystreets.com/docs/cloud/us-reverse-geo-api#coordinate"
4
+ class Coordinate
5
+ attr_reader :latitude, :longitude, :accuracy, :license
6
+
7
+ def initialize(obj)
8
+ @latitude = obj.fetch('latitude', nil)
9
+ @longitude = obj.fetch('longitude', nil)
10
+ @accuracy = obj.fetch('accuracy', nil)
11
+ @license = obj.fetch('license', nil)
12
+ end
13
+
14
+ def get_license()
15
+ case @license
16
+ when 1
17
+ return "SmartyStreets Proprietary"
18
+ else
19
+ return "SmartyStreets"
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+
@@ -0,0 +1,21 @@
1
+ module SmartyStreets
2
+ module USReverseGeo
3
+ # In addition to holding all of the input data for this lookup, this class also will contain the
4
+ # result of the lookup after it comes back from the API.
5
+ #
6
+ # Note: Lookups must have certain required fields set with non-blank values.
7
+ # These can be found at the URL below.
8
+ #
9
+ # See "https://smartystreets.com/docs/cloud/us-reverse-geo-api#http-request-input-fields"
10
+
11
+ class Lookup
12
+
13
+ attr_accessor :latitude, :longitude, :response
14
+
15
+ def initialize(latitude, longitude)
16
+ @latitude = sprintf('%.8f', latitude)
17
+ @longitude = sprintf('%.8f', longitude)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,20 @@
1
+ require_relative 'coordinate'
2
+ require_relative 'address'
3
+
4
+ module SmartyStreets
5
+ module USReverseGeo
6
+ # A result is a possible match for an geocode that was submitted. A lookup can have multiple results.
7
+ #
8
+ # See "https://smartystreets.com/docs/cloud/us-reverse-geo-api#result"
9
+ class Result
10
+ attr_reader :address, :coordinate, :distance
11
+
12
+ def initialize(obj)
13
+ @address = Address.new(obj.fetch('address', {}))
14
+ @coordinate = Coordinate.new(obj.fetch('coordinate', {}))
15
+ @distance = obj['distance']
16
+ end
17
+ end
18
+ end
19
+ end
20
+
@@ -0,0 +1,17 @@
1
+ require_relative 'result'
2
+
3
+ module SmartyStreets
4
+ module USReverseGeo
5
+ class Response
6
+ attr_reader :results
7
+
8
+ def initialize(obj)
9
+ @results = []
10
+
11
+ obj['results'].each do |result|
12
+ @results.push(Result.new(result))
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -3,19 +3,22 @@ module SmartyStreets
3
3
  # See "https://smartystreets.com/docs/cloud/us-street-api#analysis"
4
4
  class Analysis
5
5
  attr_reader :lacs_link_code, :active, :footnotes, :lacs_link_indicator, :dpv_match_code, :is_suite_link_match,
6
- :is_ews_match, :dpv_footnotes, :cmra, :vacant
6
+ :is_ews_match, :dpv_footnotes, :cmra, :vacant, :no_stat, :match_mode, :match_details
7
7
 
8
8
  def initialize(obj)
9
9
  @dpv_match_code = obj['dpv_match_code']
10
10
  @dpv_footnotes = obj['dpv_footnotes']
11
11
  @cmra = obj['dpv_cmra']
12
12
  @vacant = obj['dpv_vacant']
13
+ @no_stat = obj['dpv_no_stat']
13
14
  @active = obj['active']
14
15
  @is_ews_match = obj['ews_match']
15
16
  @footnotes = obj['footnotes']
16
17
  @lacs_link_code = obj['lacslink_code']
17
18
  @lacs_link_indicator = obj['lacslink_indicator']
18
19
  @is_suite_link_match = obj['suitelink_match']
20
+ @match_mode = obj['match_mode']
21
+ @match_details = obj['match_details']
19
22
  end
20
23
  end
21
24
  end
@@ -1,3 +1,3 @@
1
1
  module SmartyStreets
2
- VERSION = '5.8.0' # DO NOT EDIT (this is updated by a build job when a new release is published)
2
+ VERSION = '5.11.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.8.0
4
+ version: 5.11.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: 2020-08-25 00:00:00.000000000 Z
11
+ date: 2021-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -92,7 +92,9 @@ files:
92
92
  - docker-compose.yml
93
93
  - examples/international_example.rb
94
94
  - examples/us_autocomplete_example.rb
95
+ - examples/us_autocomplete_pro_example.rb
95
96
  - examples/us_extract_example.rb
97
+ - examples/us_reverse_geo_example.rb
96
98
  - examples/us_street_multiple_address_example.rb
97
99
  - examples/us_street_single_address_example.rb
98
100
  - examples/us_zipcode_multiple_lookup_example.rb
@@ -133,12 +135,24 @@ files:
133
135
  - lib/smartystreets_ruby_sdk/us_autocomplete/geolocation_type.rb
134
136
  - lib/smartystreets_ruby_sdk/us_autocomplete/lookup.rb
135
137
  - lib/smartystreets_ruby_sdk/us_autocomplete/suggestion.rb
138
+ - lib/smartystreets_ruby_sdk/us_autocomplete_pro.rb
139
+ - lib/smartystreets_ruby_sdk/us_autocomplete_pro/client.rb
140
+ - lib/smartystreets_ruby_sdk/us_autocomplete_pro/geolocation_type.rb
141
+ - lib/smartystreets_ruby_sdk/us_autocomplete_pro/lookup.rb
142
+ - lib/smartystreets_ruby_sdk/us_autocomplete_pro/suggestion.rb
136
143
  - lib/smartystreets_ruby_sdk/us_extract.rb
137
144
  - lib/smartystreets_ruby_sdk/us_extract/address.rb
138
145
  - lib/smartystreets_ruby_sdk/us_extract/client.rb
139
146
  - lib/smartystreets_ruby_sdk/us_extract/lookup.rb
140
147
  - lib/smartystreets_ruby_sdk/us_extract/metadata.rb
141
148
  - lib/smartystreets_ruby_sdk/us_extract/result.rb
149
+ - lib/smartystreets_ruby_sdk/us_reverse_geo.rb
150
+ - lib/smartystreets_ruby_sdk/us_reverse_geo/address.rb
151
+ - lib/smartystreets_ruby_sdk/us_reverse_geo/client.rb
152
+ - lib/smartystreets_ruby_sdk/us_reverse_geo/coordinate.rb
153
+ - lib/smartystreets_ruby_sdk/us_reverse_geo/lookup.rb
154
+ - lib/smartystreets_ruby_sdk/us_reverse_geo/result.rb
155
+ - lib/smartystreets_ruby_sdk/us_reverse_geo/us_reverse_geo_response.rb
142
156
  - lib/smartystreets_ruby_sdk/us_street.rb
143
157
  - lib/smartystreets_ruby_sdk/us_street/analysis.rb
144
158
  - lib/smartystreets_ruby_sdk/us_street/candidate.rb