smartystreets_ruby_sdk 5.15.4 → 5.16.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: 22a8e979c958e251c1a675ec21140b28556312de95b07b7dc54713c5d6ecabb2
4
- data.tar.gz: 6e5755a92f70114b95f378ac5fc312b7db5c883dee4f3d9f21217c1aaad64ec8
3
+ metadata.gz: 3420356d8cdd87a995c6fae44cdfa26549322163bc1ebe767a181aca029280b5
4
+ data.tar.gz: 3c63162a19e7abd5841df9ee8699e40b27edcd0d9fe0c1615221f41844e289ce
5
5
  SHA512:
6
- metadata.gz: ad4e235530153d191e84aac89e914e6501c694896a353f92257ba0f4e4d1a51c175e6c82fa81b795846c693318617bdd68bb482221ce046fbf58ba6d38bf428a
7
- data.tar.gz: 6b61ec040516252cfd49fb13c5b411539e6d9b51aee31d3f42b4d0eaaebed42b0f2b47bc1e3749b051475193d6c134f9737edbe672d83460d7e759b99bb5c6b7
6
+ metadata.gz: 31df562ca6a0e07e80d90c74bf0713da88c8491dc9112afd76209fcc97f2038cb61af0cbba0bf3ec3f1c23913f4f09c14c8f1fc8d140c392a70f5e3e9ee20dfc
7
+ data.tar.gz: 6de7192ed4b3a9f803aa8c7526ed6186bcb34aef24698b65d4665714112464504f9bda7e7caa2be38dffa964c4b8bf888ba3235a7176aefb54323587467ee41c
@@ -3,7 +3,6 @@ require '../lib/smartystreets_ruby_sdk/static_credentials'
3
3
  require '../lib/smartystreets_ruby_sdk/client_builder'
4
4
  require '../lib/smartystreets_ruby_sdk/international_autocomplete/lookup'
5
5
  require '../lib/smartystreets_ruby_sdk/international_autocomplete/client'
6
- require '../lib/smartystreets_ruby_sdk/international_autocomplete/international_geolocation_type'
7
6
 
8
7
  class InternationalAutocompleteExample
9
8
  Lookup = SmartyStreets::InternationalAutocomplete::Lookup
@@ -32,7 +31,6 @@ class InternationalAutocompleteExample
32
31
  lookup = Lookup.new('Louis')
33
32
  lookup.country = "FRA"
34
33
  lookup.locality = "Paris"
35
- lookup.geolocation = SmartyStreets::InternationalAutocomplete::InternationalGeolocationType::NONE
36
34
 
37
35
  suggestions = client.send(lookup) # The client will also return the suggestions directly
38
36
 
@@ -41,7 +39,11 @@ class InternationalAutocompleteExample
41
39
  puts
42
40
 
43
41
  suggestions.each do |suggestion|
44
- puts "#{suggestion.street} #{suggestion.locality}, #{suggestion.country_iso3}"
42
+ if suggestion.address_text
43
+ puts "#{suggestion.entries} #{suggestion.address_text}, #{suggestion.address_id}"
44
+ else
45
+ puts "#{suggestion.street} #{suggestion.locality}, #{suggestion.country_iso3}"
46
+ end
45
47
  end
46
48
 
47
49
  end
@@ -24,7 +24,7 @@ module SmartyStreets
24
24
  # These methods are chainable, so you can usually get set up with one line of code.
25
25
  class ClientBuilder
26
26
  INTERNATIONAL_STREET_API_URL = 'https://international-street.api.smarty.com/verify'.freeze
27
- INTERNATIONAL_AUTOCOMPLETE_API_URL = "https://international-autocomplete.api.smarty.com/lookup".freeze
27
+ INTERNATIONAL_AUTOCOMPLETE_API_URL = "https://international-autocomplete.api.smarty.com/v2/lookup".freeze
28
28
  US_AUTOCOMPLETE_API_URL = 'https://us-autocomplete.api.smarty.com/suggest'.freeze
29
29
  US_AUTOCOMPLETE_PRO_API_URL = 'https://us-autocomplete-pro.api.smarty.com/lookup'.freeze
30
30
  US_EXTRACT_API_URL = 'https://us-extract.api.smarty.com/'.freeze
@@ -13,8 +13,8 @@ module SmartyStreets
13
13
 
14
14
  # Sends a Lookup object to the International Autocomplete API and stores the result in the Lookup's result field.
15
15
  def send(lookup)
16
- if not lookup or not lookup.search
17
- raise SmartyStreets::SmartyError, 'Send() must be passed a Lookup with the prefix field set.'
16
+ if !lookup || (!lookup.search && !lookup.address_id)
17
+ raise SmartyStreets::SmartyError, 'Send() must be passed a Lookup with country set, and search or address_id set.'
18
18
  end
19
19
 
20
20
  request = build_request(lookup)
@@ -32,18 +32,15 @@ module SmartyStreets
32
32
  def build_request(lookup)
33
33
  request = Request.new
34
34
 
35
+ unless lookup.address_id.nil?
36
+ request.url_prefix = '/' + lookup.address_id
37
+ end
38
+
35
39
  add_parameter(request, 'search', lookup.search)
36
40
  add_parameter(request, 'country', lookup.country)
37
41
  add_parameter(request, 'max_results', lookup.max_results.to_s)
38
- add_parameter(request, 'distance', lookup.distance.to_s)
39
- if lookup.geolocation != InternationalGeolocationType::NONE && lookup.geolocation != nil
40
- add_parameter(request, 'geolocation', lookup.geolocation)
41
- end
42
- add_parameter(request, 'include_only_administrative_area', lookup.administrative_area)
43
42
  add_parameter(request, 'include_only_locality', lookup.locality)
44
43
  add_parameter(request, 'include_only_postal_code', lookup.postal_code)
45
- add_parameter(request, 'latitude', lookup.latitude.to_s)
46
- add_parameter(request, 'longitude', lookup.longitude.to_s)
47
44
 
48
45
  request
49
46
  end
@@ -6,20 +6,16 @@ module SmartyStreets
6
6
  # of the lookup after it comes back from the API.
7
7
  class Lookup < JSONAble
8
8
 
9
- attr_accessor :result, :search, :country, :max_results, :distance, :geolocation, :administrative_area, :locality, :postal_code, :latitude, :longitude
9
+ attr_accessor :result, :search, :address_id, :country, :max_results, :locality, :postal_code
10
10
 
11
- def initialize(search = nil, country = nil, max_results = nil, distance = nil, geolocation = nil, administrative_area = nil, locality = nil, postal_code = nil, latitude = nil, longitude = nil)
11
+ def initialize(search = nil, address_id = nil, country = nil, max_results = nil, locality = nil, postal_code = nil)
12
12
  @result = []
13
13
  @search = search
14
+ @address_id = address_id
14
15
  @country = country
15
16
  @max_results = max_results
16
- @distance = distance
17
- @geolocation = geolocation
18
- @administrative_area = administrative_area
19
17
  @locality = locality
20
18
  @postal_code = postal_code
21
- @latitude = latitude
22
- @longitude = longitude
23
19
  end
24
20
  end
25
21
  end
@@ -2,16 +2,18 @@ module SmartyStreets
2
2
  module InternationalAutocomplete
3
3
  class Suggestion
4
4
 
5
- attr_reader :street, :locality, :administrative_area, :super_administrative_area, :sub_administrative_area, :postal_code, :country_iso3
5
+ attr_reader :street, :locality, :administrative_area, :postal_code, :country_iso3, :entries, :address_text, :address_id
6
6
 
7
7
  def initialize(obj)
8
8
  @street = obj.fetch('street', nil)
9
9
  @locality = obj.fetch('locality', nil)
10
10
  @administrative_area = obj.fetch('administrative_area', nil)
11
- @super_administrative_area = obj.fetch('super_administrative_area', nil)
12
- @sub_administrative_area = obj.fetch('sub_administrative_area', nil)
13
11
  @postal_code = obj.fetch('postal_code', nil)
14
12
  @country_iso3 = obj.fetch('country_iso3', nil)
13
+ # v2 fields
14
+ @entries = obj.fetch('entries', nil)
15
+ @address_text = obj.fetch('address_text', nil)
16
+ @address_id = obj.fetch('address_id', nil)
15
17
  end
16
18
  end
17
19
  end
@@ -6,7 +6,11 @@ module SmartyStreets
6
6
  end
7
7
 
8
8
  def send(request)
9
- request.url_prefix = @url_prefix
9
+ if request.url_prefix.nil?
10
+ request.url_prefix = @url_prefix
11
+ else
12
+ request.url_prefix = @url_prefix + request.url_prefix
13
+ end
10
14
 
11
15
  @inner.send(request)
12
16
  end
@@ -1,3 +1,3 @@
1
1
  module SmartyStreets
2
- VERSION = '5.15.4' # DO NOT EDIT (this is updated by a build job when a new release is published)
2
+ VERSION = '5.16.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.15.4
4
+ version: 5.16.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-07 00:00:00.000000000 Z
11
+ date: 2023-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,7 +108,6 @@ files:
108
108
  - lib/smartystreets_ruby_sdk/exceptions.rb
109
109
  - lib/smartystreets_ruby_sdk/international_autocomplete.rb
110
110
  - lib/smartystreets_ruby_sdk/international_autocomplete/client.rb
111
- - lib/smartystreets_ruby_sdk/international_autocomplete/international_geolocation_type.rb
112
111
  - lib/smartystreets_ruby_sdk/international_autocomplete/lookup.rb
113
112
  - lib/smartystreets_ruby_sdk/international_autocomplete/suggestion.rb
114
113
  - lib/smartystreets_ruby_sdk/international_street.rb
@@ -1,11 +0,0 @@
1
- module SmartyStreets
2
- module InternationalAutocomplete
3
- module InternationalGeolocationType
4
- ADMIN_AREA = 'adminarea'
5
- LOCALITY = 'locality'
6
- POSTAL_CODE = 'postalcode'
7
- GEOCODES = 'geocodes'
8
- NONE = 'null'
9
- end
10
- end
11
- end