smartystreets_ruby_sdk 1.0.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/Makefile +5 -2
- data/Vagrantfile +5 -9
- data/lib/smartystreets_ruby_sdk/core_client_builder.rb +2 -1
- data/lib/smartystreets_ruby_sdk/logger.rb +5 -0
- data/lib/smartystreets_ruby_sdk/retry_sender.rb +3 -2
- data/lib/smartystreets_ruby_sdk/us_street/candidate.rb +3 -3
- data/lib/smartystreets_ruby_sdk/us_zipcode/city.rb +9 -7
- data/lib/smartystreets_ruby_sdk/us_zipcode/zip_code.rb +14 -12
- data/lib/smartystreets_ruby_sdk/version.rb +1 -1
- metadata +3 -2
data/.gitignore
CHANGED
data/Makefile
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
#!/usr/bin/make -f
|
2
2
|
|
3
|
-
SOURCE_VERSION :=
|
3
|
+
SOURCE_VERSION := 2.0
|
4
|
+
|
5
|
+
tests:
|
6
|
+
ruby -Ilib -e 'ARGV.each { |f| require f }' ./test/smartystreets_ruby_sdk/test*.rb ./test/smartystreets_ruby_sdk/us_street/test*.rb ./test/smartystreets_ruby_sdk/us_zipcode/test*.rb
|
4
7
|
|
5
8
|
publish: version
|
6
9
|
git push origin --tags
|
@@ -16,4 +19,4 @@ tag:
|
|
16
19
|
$(eval CURRENT := $(shell git describe 2>/dev/null))
|
17
20
|
$(eval EXPECTED := $(PREFIX)$(shell git tag -l "$(PREFIX)*" | wc -l | xargs expr -1 +))
|
18
21
|
$(eval INCREMENTED := $(PREFIX)$(shell git tag -l "$(PREFIX)*" | wc -l | xargs expr 0 +))
|
19
|
-
@if [ "$(CURRENT)" != "$(EXPECTED)" ]; then git tag -a "$(INCREMENTED)" -m "" 2>/dev/null || true; fi
|
22
|
+
@if [ "$(CURRENT)" != "$(EXPECTED)" ]; then git tag -a "$(INCREMENTED)" -m "" 2>/dev/null || true; fi
|
data/Vagrantfile
CHANGED
@@ -4,17 +4,13 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
|
|
4
4
|
config.vm.box = "boxcutter/ubuntu1404"
|
5
5
|
config.vm.synced_folder "~/.identity", "/home/vagrant/.identity", create: true
|
6
6
|
config.vm.synced_folder "~/.gnupg", "/home/vagrant/.gnupg", create: true
|
7
|
+
config.vm.provision "shell", path: "https://s3-us-west-1.amazonaws.com/raptr-us-west-1/bootstrap"
|
8
|
+
|
9
|
+
# box-specific
|
10
|
+
config.vm.provision "shell", inline: "apt-get install -y ruby"
|
7
11
|
config.vm.synced_folder "~/.gem", "/home/vagrant/.gem", create: true
|
12
|
+
|
8
13
|
config.vm.provider "virtualbox" do |vb|
|
9
14
|
vb.customize ["modifyvm", :id, "--nictype1", "Am79C973"]
|
10
15
|
end
|
11
|
-
config.vm.provision "shell", path: "https://s3-us-west-1.amazonaws.com/raptr-us-west-1/bootstrap"
|
12
|
-
|
13
|
-
# box-specific
|
14
|
-
config.vm.provision "shell", inline: $provision
|
15
16
|
end
|
16
|
-
|
17
|
-
$provision = <<-EOF
|
18
|
-
apt-get install -y ruby
|
19
|
-
|
20
|
-
EOF
|
@@ -5,6 +5,7 @@ require_relative 'signing_sender'
|
|
5
5
|
require_relative 'retry_sender'
|
6
6
|
require_relative 'url_prefix_sender'
|
7
7
|
require_relative 'sleeper'
|
8
|
+
require_relative 'logger'
|
8
9
|
|
9
10
|
class CoreClientBuilder
|
10
11
|
def initialize(signer)
|
@@ -49,7 +50,7 @@ class CoreClientBuilder
|
|
49
50
|
|
50
51
|
sender = SigningSender.new(@signer, sender) if @signer != nil
|
51
52
|
|
52
|
-
sender = RetrySender.new(@max_retries, sender, Sleeper.new) if @max_retries > 0
|
53
|
+
sender = RetrySender.new(@max_retries, sender, Sleeper.new, Logger.new) if @max_retries > 0
|
53
54
|
|
54
55
|
URLPrefixSender.new(@url_prefix, sender)
|
55
56
|
end
|
@@ -2,10 +2,11 @@ class RetrySender
|
|
2
2
|
MAX_BACKOFF_DURATION = 10
|
3
3
|
STATUS_OK = '200'
|
4
4
|
|
5
|
-
def initialize(max_retries, inner, sleeper)
|
5
|
+
def initialize(max_retries, inner, sleeper, logger)
|
6
6
|
@max_retries = max_retries
|
7
7
|
@inner = inner
|
8
8
|
@sleeper = sleeper
|
9
|
+
@logger = logger
|
9
10
|
end
|
10
11
|
|
11
12
|
def send(request)
|
@@ -27,7 +28,7 @@ class RetrySender
|
|
27
28
|
def backoff(attempt)
|
28
29
|
backoff_duration = [attempt, MAX_BACKOFF_DURATION].min
|
29
30
|
|
30
|
-
|
31
|
+
@logger.log("There was an error processing the request. Retrying in #{backoff_duration} seconds...")
|
31
32
|
@sleeper.sleep(backoff_duration)
|
32
33
|
end
|
33
34
|
end
|
@@ -1,10 +1,12 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
module USZipcode
|
2
|
+
class City
|
3
|
+
attr_reader :mailable_city, :state_abbreviation, :state, :city
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
def initialize(obj)
|
6
|
+
@city = obj['city']
|
7
|
+
@mailable_city = obj['mailable_city']
|
8
|
+
@state_abbreviation = obj['state_abbreviation']
|
9
|
+
@state = obj['state']
|
10
|
+
end
|
9
11
|
end
|
10
12
|
end
|
@@ -1,15 +1,17 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
module USZipcode
|
2
|
+
class ZipCode
|
3
|
+
attr_reader :longitude, :county_name, :zipcode, :zipcode_type, :county_fips, :latitude, :precision, :default_city, :alternate_counties
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
5
|
+
def initialize(obj)
|
6
|
+
@zipcode = obj['zipcode']
|
7
|
+
@zipcode_type = obj['zipcode_type']
|
8
|
+
@default_city = obj['default_city']
|
9
|
+
@county_fips = obj['county_fips']
|
10
|
+
@county_name = obj['county_name']
|
11
|
+
@latitude = obj['latitude']
|
12
|
+
@longitude = obj['longitude']
|
13
|
+
@precision = obj['precision']
|
14
|
+
@alternate_counties = obj.fetch('alternate_counties', [])
|
15
|
+
end
|
14
16
|
end
|
15
17
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smartystreets_ruby_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-01-
|
12
|
+
date: 2017-01-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -108,6 +108,7 @@ files:
|
|
108
108
|
- lib/smartystreets_ruby_sdk/errors.rb
|
109
109
|
- lib/smartystreets_ruby_sdk/exceptions.rb
|
110
110
|
- lib/smartystreets_ruby_sdk/json_able.rb
|
111
|
+
- lib/smartystreets_ruby_sdk/logger.rb
|
111
112
|
- lib/smartystreets_ruby_sdk/match_type.rb
|
112
113
|
- lib/smartystreets_ruby_sdk/native_sender.rb
|
113
114
|
- lib/smartystreets_ruby_sdk/native_serializer.rb
|