us_address_client 1.0.0 → 1.0.1

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: b042f259b793875c82a530f33a50da311e319c87dc78af15e699e618388c95ba
4
- data.tar.gz: 4444911ea6ed25edaf5b165b1f3bdad47a15fa993cc969d851dd0443a3ddd17f
3
+ metadata.gz: 27acc4f00de10dcbcec7f1663cc173a66bc8ee64902d1ea994b41f5608ae4c1d
4
+ data.tar.gz: 2991960b197b2691b9df07a3782fe34f1d2e954391902f189cc223c73313a7d4
5
5
  SHA512:
6
- metadata.gz: 015420e49d95d20c0f64a754f01656bc22d9b6c25a26fc108cc18884a40bce5a16baf20448ee197de3359ecce2ee96f44138723989df58a45705cbf3328df893
7
- data.tar.gz: 4258c022309fb3b69876f0cce661bcb245bc9eaa5184e1e7f729b93bde62ae23f2d8f12ad3980cad15b581f18d81303852b45594294799a6c407f0a8a6fb0b1c
6
+ metadata.gz: 793452b1d5f58647a6310145d8c22a7b72f8baef055a7384532f1c5d116ead042f45fbcf22ce99a8e36eba7fd83c91f2a1bdc02e609ca868b7fff5aec93c604e
7
+ data.tar.gz: d402b97533741a2cd7f17a433c023939f0bfec85a3e597e8bf3a46a20c358656057fd85b2aeb483631544d5669a8cd1a21f38c559385aee8c8dad83d3d96c6de
data/README.md CHANGED
@@ -97,7 +97,6 @@ us_address_client:
97
97
 
98
98
  #### Notes:
99
99
 
100
- - If `url` is not supplied then it will fall back to the local melissa data installation using the `melissa` gem.
101
100
  - Configuration changes _must_ be made prior to any calls being made to this service.
102
101
 
103
102
  ### Logging
@@ -163,3 +162,32 @@ Output:
163
162
  2018-12-19 19:34:08.134716 D [28643:70323013957920 transport.rb:25] (16.6ms) USAddressClient -- #http_get -- { :path => "/address?address=2811+Safe+Harbor+Drive&city=Tampa&state=FL&zip=33618" }
164
163
  2018-12-19 19:34:08.134845 I [28643:70323013957920 client.rb:8] (16.8ms) USAddressClient -- #verify -- { :input => { :address => "2811 Safe Harbor Drive", :city => "Tampa", :state => "FL", :zip => "33618" }, :output => { :zip => "33618", :time_zone_code => "05", :time_zone => "Eastern Time", :suite_range => "", :suite_name => "", :suite => "", :suffix => "Dr", :street_name => "Safe Harbor", :state => "FL", :result_codes => [ "AS01" ], :private_mailbox_number => "", :private_mailbox_name => "", :pre_direction => "", :post_direction => "", :plus4 => "4534", :melissa_address_key_base => "", :melissa_address_key => "", :garbage => "", :delivery_point => "33618453411", :city => "Tampa", :address_type_code => "S", :address_type => "Street", :address_range => "2811", :address2 => "", :address => "2811 Safe Harbor Dr" } }
165
164
  ~~~
165
+
166
+ ## Customizing what is a good or bad address
167
+
168
+ Melissa Data returns good and bad codes after verifying the address.
169
+
170
+ By default the following codes need to be returned before the address is considered valid:
171
+ - AS01
172
+ - AS02
173
+ - AS03
174
+
175
+ To override these codes, set the `good_codes` value in secret config as a list of comma separated values:
176
+
177
+ ~~~yaml
178
+ us_address_client:
179
+ url: http://address.service.test.com
180
+ good_codes: "AS01, AS02, AS03, AS20"
181
+ ~~~
182
+
183
+ Even if a good code is returned, by default the following codes will force the result to be considered invalid:
184
+ - AC02
185
+ - AC03
186
+
187
+ To override these codes, set the `bad_codes` value in secret config as a list of comma separated values:
188
+
189
+ ~~~yaml
190
+ us_address_client:
191
+ url: http://address.service.test.com
192
+ bad_codes: "AS03, AS09, AS16, AS17, AS24, AE01, AE02, AE03, AE04, AE05, AE07, AE10, AE11, AE12, AE13, AE14"
193
+ ~~~
@@ -1,4 +1,5 @@
1
1
  require "date"
2
+ require "sync_attr"
2
3
 
3
4
  module USAddressClient
4
5
  class Client
@@ -6,7 +7,6 @@ module USAddressClient
6
7
  # Once created a mutex is not used again since there is no writer accessor.
7
8
  sync_cattr_reader :http do
8
9
  OpinionatedHTTP.new(
9
- header: {"Content-Type" => "application/json"},
10
10
  secret_config_prefix: "us_address_client",
11
11
  metric_prefix: "USAddressClient",
12
12
  logger: USAddressClient.logger,
@@ -17,8 +17,8 @@ module USAddressClient
17
17
  def self.verify(input_address)
18
18
  return AddressMock.new(input_address) if USAddressClient.mocked?
19
19
 
20
- response = http.get(action: "address", parameters: input_address)
21
- hash = Parser.parse_verify_response(response)
20
+ response = http.get(action: "address", parameters: input_address, headers: {"Content-Type" => "application/json"})
21
+ hash = Parser.parse_verify_response(response.body!)
22
22
  USAddressClient.logger.trace(payload: hash)
23
23
  Address.new(hash, true)
24
24
  end
@@ -32,8 +32,8 @@ module USAddressClient
32
32
  }
33
33
  end
34
34
 
35
- response = http.get(action: "version")
36
- Parser.parse_version_response(response)
35
+ response = http.get(action: "version", headers: {"Content-Type" => "application/json"})
36
+ Parser.parse_version_response(response.body!)
37
37
  end
38
38
  end
39
39
  end
@@ -1,3 +1,3 @@
1
1
  module USAddressClient
2
- VERSION = "1.0.0".freeze
2
+ VERSION = "1.0.1".freeze
3
3
  end
data/test/test_helper.rb CHANGED
@@ -5,7 +5,6 @@ ENV["SECRET_CONFIG_PATH"] = "test"
5
5
  require "yaml"
6
6
  require "minitest/autorun"
7
7
  require "amazing_print"
8
- require "sync_attr"
9
8
  require "semantic_logger"
10
9
  require "us_address_client"
11
10
 
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: us_address_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Reid Morrison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-10 00:00:00.000000000 Z
11
+ date: 2022-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opinionated_http
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '0.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '0.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: secret_config
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0'
92
92
  requirements: []
93
- rubygems_version: 3.2.22
93
+ rubygems_version: 3.3.7
94
94
  signing_key:
95
95
  specification_version: 4
96
96
  summary: US Address Service Client