smartystreets_ruby_sdk 5.7.1 → 5.8.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: f3f797e2c9674c76b4aa28327d6025f8dafbc03c821e4b40c33ad4b860b2b384
4
- data.tar.gz: dcf25fb1ff0beda7ecb68dbb68fdf08ac4fdf47e1df83b71962e8bb7a514ec68
3
+ metadata.gz: 535dcd015e5d60cfb19fceef8fcaaf21571bc32a1273e59f8b21b3fcb71e7361
4
+ data.tar.gz: f994e9282f74263c7fbdc411c7a90cc5a41f04cdfe58fd7d5a41668e8ce90090
5
5
  SHA512:
6
- metadata.gz: 5145440547a474124f14556947e1b7ada72145f6359e1b3f7e23a667418dcaf9f9c13770e1de0bc10d22a374065dc247b760151c8419d5b3587447cd1686fb55
7
- data.tar.gz: 104c0f77fa4d74cf8e3cbad86ab5fe41a13a41f773009e0cccfad394f35d94035d717bb5f15a7db44b17c1d075cc5c763d4a4c4462bc54fe114e54ef31cb7b90
6
+ metadata.gz: 503dd289bba672c6068784ca929a14b265a57f80f30e5faa9840a3962b67937c0a200e8ad450783077723d0eff1ff8e7681dafc6a4d98d4fe6ac68171ac17cf8
7
+ data.tar.gz: ea7e7babd854b053bdda4ddfc43ad88f47c6b12ed26a53f2681b72635a191b46b3e70e46c5cd15d292d146d8ba546251acf129e4dcb81260bb499d1b499c36dc
data/README.md CHANGED
@@ -27,7 +27,3 @@ And then execute:
27
27
  Or install it yourself as:
28
28
 
29
29
  $ gem install smartystreets_ruby_sdk
30
-
31
-
32
-
33
-
@@ -14,7 +14,8 @@ 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).build_international_street_api_client
17
+ client = SmartyStreets::ClientBuilder.new(credentials) # .with_licenses(%w(international-fake-license))
18
+ .build_international_street_api_client
18
19
 
19
20
  # Documentation for input fields can be found at:
20
21
  # https://smartystreets.com/docs/cloud/international-street-api
@@ -16,7 +16,8 @@ class USStreetMultipleAddressExample
16
16
 
17
17
  credentials = SmartyStreets::StaticCredentials.new(auth_id, auth_token)
18
18
 
19
- client = SmartyStreets::ClientBuilder.new(credentials).build_us_street_api_client
19
+ client = SmartyStreets::ClientBuilder.new(credentials) # .with_licenses(%w(us-rooftop-geocoding-cloud))
20
+ .build_us_street_api_client
20
21
  batch = SmartyStreets::Batch.new
21
22
 
22
23
  # Documentation for input fields can be found at:
@@ -14,6 +14,7 @@ require 'smartystreets_ruby_sdk/native_serializer'
14
14
  require 'smartystreets_ruby_sdk/request'
15
15
  require 'smartystreets_ruby_sdk/response'
16
16
  require 'smartystreets_ruby_sdk/retry_sender'
17
+ require 'smartystreets_ruby_sdk/license_sender'
17
18
  require 'smartystreets_ruby_sdk/shared_credentials'
18
19
  require 'smartystreets_ruby_sdk/signing_sender'
19
20
  require 'smartystreets_ruby_sdk/static_credentials'
@@ -4,6 +4,7 @@ require_relative 'status_code_sender'
4
4
  require_relative 'signing_sender'
5
5
  require_relative 'retry_sender'
6
6
  require_relative 'url_prefix_sender'
7
+ require_relative 'license_sender'
7
8
  require_relative 'sleeper'
8
9
  require_relative 'logger'
9
10
  require_relative 'proxy'
@@ -34,6 +35,7 @@ module SmartyStreets
34
35
  @url_prefix = nil
35
36
  @proxy = nil
36
37
  @headers = nil
38
+ @licenses = %w()
37
39
  @debug = nil
38
40
  end
39
41
 
@@ -96,6 +98,14 @@ module SmartyStreets
96
98
  self
97
99
  end
98
100
 
101
+ # Allows the caller to specify the subscription license (aka "track") they wish to use.
102
+ #
103
+ # Returns self to accommodate method chaining.
104
+ def with_licenses(licenses)
105
+ @licenses.concat licenses
106
+ self
107
+ end
108
+
99
109
  # Enables debug mode, which will print information about the HTTP request and response to $stdout.
100
110
  #
101
111
  # Returns self to accommodate method chaining.
@@ -146,6 +156,8 @@ module SmartyStreets
146
156
 
147
157
  sender = RetrySender.new(@max_retries, sender, SmartyStreets::Sleeper.new,SmartyStreets::Logger.new) if @max_retries > 0
148
158
 
159
+ sender = LicenseSender.new(sender, @licenses)
160
+
149
161
  URLPrefixSender.new(@url_prefix, sender)
150
162
  end
151
163
 
@@ -0,0 +1,15 @@
1
+ module SmartyStreets
2
+ class LicenseSender
3
+ def initialize(inner, licenses)
4
+ @inner = inner
5
+ @licenses = licenses
6
+ end
7
+
8
+ def send(request)
9
+ if @licenses.length > 0
10
+ request.parameters['license'] = @licenses.join(',')
11
+ end
12
+ @inner.send(request)
13
+ end
14
+ end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module SmartyStreets
2
- VERSION = '5.7.1' # DO NOT EDIT (this is updated by a build job when a new release is published)
2
+ VERSION = '5.8.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.7.1
4
+ version: 5.8.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: 2019-11-25 00:00:00.000000000 Z
11
+ date: 2020-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -114,6 +114,7 @@ files:
114
114
  - lib/smartystreets_ruby_sdk/international_street/metadata.rb
115
115
  - lib/smartystreets_ruby_sdk/international_street/rootlevel.rb
116
116
  - lib/smartystreets_ruby_sdk/json_able.rb
117
+ - lib/smartystreets_ruby_sdk/license_sender.rb
117
118
  - lib/smartystreets_ruby_sdk/logger.rb
118
119
  - lib/smartystreets_ruby_sdk/native_sender.rb
119
120
  - lib/smartystreets_ruby_sdk/native_serializer.rb
@@ -175,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
176
  - !ruby/object:Gem::Version
176
177
  version: '0'
177
178
  requirements: []
178
- rubygems_version: 3.0.3
179
+ rubygems_version: 3.1.2
179
180
  signing_key:
180
181
  specification_version: 4
181
182
  summary: An official library for the SmartyStreets APIs