zipcoder 0.7.3 → 0.7.4
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 +4 -4
- data/README.md +7 -3
- data/lib/zipcoder.rb +11 -15
- data/lib/zipcoder/version.rb +1 -1
- data/spec/zipcoder_spec.rb +15 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a8c448625e1f29e651486fe183f07fa0b5b5b4d
|
4
|
+
data.tar.gz: 9234087086d3e048d8ca50eae52f2bf2f5b21e4a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02a075c911f38c1f14035b0dd52f0fee5417c900d19f23b4a1cf9c26a08c32f3015ef421c30bf4a8405c913c3dba4492cc09b65221d4f31694a05c91ffd8f337
|
7
|
+
data.tar.gz: 6d2c2eb7f9b5af8c28f73390fef20152c9cb2f60dcd7c55c469305073e5f5fab2fe887704052503e5859ac1cb89d362f7a457d32ab8f2f228bb794dfc20bd75b
|
data/README.md
CHANGED
@@ -7,8 +7,12 @@ Gem for performing zip code lookup operations
|
|
7
7
|
|
8
8
|
## Revision History
|
9
9
|
|
10
|
-
- v0.7.
|
11
|
-
-
|
10
|
+
- v0.7.4:
|
11
|
+
- updates "zip_cities" to return valid zip_codes (and not just what you enter)
|
12
|
+
- also added "specified_zip" to the city object when entering zip codes. This
|
13
|
+
will allow a client to know if all of the zip codes were specified for a city
|
14
|
+
- v0.7.2/3:
|
15
|
+
- minor bug fixes
|
12
16
|
- v0.7.0:
|
13
17
|
- added "zips_only" option to "city_info"
|
14
18
|
- v0.6.1:
|
@@ -183,7 +187,7 @@ require 'zipcoder'
|
|
183
187
|
|
184
188
|
# Returns the cities for a zip_code
|
185
189
|
puts "78701-78750,78613".zip_cities
|
186
|
-
# > [{:zip=>"
|
190
|
+
# > [{:zip=>"78701-78705,78710,78712,78717,...", :specified_zip => "78701-78750", :city=>"Austin", :state=>"TX", :lat=>30.26, :long=>-97.74}, ...
|
187
191
|
|
188
192
|
# Returns just the name of the cities
|
189
193
|
puts "78701-78750,78613".zip_cities names_only: true
|
data/lib/zipcoder.rb
CHANGED
@@ -57,21 +57,12 @@ module Zipcoder
|
|
57
57
|
max = kwargs[:max]
|
58
58
|
|
59
59
|
cities = {}
|
60
|
-
last_key = nil
|
61
|
-
last_zip = nil
|
62
60
|
self._parse_zip_string(zip_string).each do |zip|
|
63
61
|
info = zip.zip_info
|
64
|
-
|
65
|
-
|
66
|
-
key = last_key
|
67
|
-
else
|
68
|
-
key = nil
|
69
|
-
end
|
70
|
-
else
|
62
|
+
key = nil
|
63
|
+
if info != nil
|
71
64
|
key = "#{info[:city]}, #{info[:state]}"
|
72
65
|
end
|
73
|
-
last_key = key
|
74
|
-
last_zip = zip
|
75
66
|
|
76
67
|
if key == nil
|
77
68
|
next
|
@@ -98,13 +89,18 @@ module Zipcoder
|
|
98
89
|
end
|
99
90
|
end
|
100
91
|
else
|
101
|
-
|
92
|
+
sorted_cities = cities.keys.uniq.sort
|
102
93
|
if kwargs[:names_only]
|
103
|
-
zips =
|
94
|
+
zips = sorted_cities
|
104
95
|
else
|
105
96
|
zips = []
|
106
|
-
|
107
|
-
|
97
|
+
sorted_cities.each do |city|
|
98
|
+
zip_codes = cities[city]
|
99
|
+
city_detail = city.city_info(keys: kwargs[:keys])
|
100
|
+
if kwargs[:keys] == nil or kwargs[:keys].include? :specified_zip
|
101
|
+
city_detail[:specified_zip] = zip_codes.combine_zips
|
102
|
+
end
|
103
|
+
zips << city_detail
|
108
104
|
end
|
109
105
|
end
|
110
106
|
end
|
data/lib/zipcoder/version.rb
CHANGED
data/spec/zipcoder_spec.rb
CHANGED
@@ -157,7 +157,8 @@ describe Zipcoder do
|
|
157
157
|
zip_info = zip_cities[0]
|
158
158
|
expect(zip_info[:city]).to eq("Austin")
|
159
159
|
expect(zip_info[:state]).to eq("TX")
|
160
|
-
expect(zip_info[:zip]
|
160
|
+
expect(zip_info[:zip]).to eq("78701-78705,78710,78712,78717,78719,78721-78739,78741-78742,78744-78754,78756-78759,78798-78799")
|
161
|
+
expect(zip_info[:specified_zip]).to eq("78748")
|
161
162
|
expect(zip_info[:lat]).to eq(30.315)
|
162
163
|
expect(zip_info[:long]).to eq(-97.71)
|
163
164
|
end
|
@@ -169,7 +170,8 @@ describe Zipcoder do
|
|
169
170
|
zip_info = zip_cities[0]
|
170
171
|
expect(zip_info[:city]).to eq("Austin")
|
171
172
|
expect(zip_info[:state]).to eq("TX")
|
172
|
-
expect(zip_info[:zip]
|
173
|
+
expect(zip_info[:zip]).to eq("78701-78705,78710,78712,78717,78719,78721-78739,78741-78742,78744-78754,78756-78759,78798-78799")
|
174
|
+
expect(zip_info[:specified_zip]).to eq("78702-78705,78710,78712,78717,78719,78721-78739,78741-78742,78744-78750")
|
173
175
|
expect(zip_info[:lat]).to eq(30.315)
|
174
176
|
expect(zip_info[:long]).to eq(-97.71)
|
175
177
|
|
@@ -177,6 +179,7 @@ describe Zipcoder do
|
|
177
179
|
expect(zip_info[:city]).to eq("Cedar Park")
|
178
180
|
expect(zip_info[:state]).to eq("TX")
|
179
181
|
expect(zip_info[:zip]).to eq("78613")
|
182
|
+
expect(zip_info[:specified_zip]).to eq("78613")
|
180
183
|
expect(zip_info[:lat]).to eq(30.51)
|
181
184
|
expect(zip_info[:long]).to eq(-97.83)
|
182
185
|
end
|
@@ -194,12 +197,12 @@ describe Zipcoder do
|
|
194
197
|
context "#grouped" do
|
195
198
|
it "returns the cities grouped" do
|
196
199
|
zip_cities = "78751,13601,78613,78700-78750".zip_cities grouped: true
|
197
|
-
expect(zip_cities.keys.sort).to eq(["13601", "78613", "78701-78751"])
|
200
|
+
expect(zip_cities.keys.sort).to eq(["13601", "78613", "78701-78705,78710,78712,78717,78719,78721-78739,78741-78742,78744-78751"])
|
198
201
|
|
199
|
-
zip_info = zip_cities["78701-78751"]
|
202
|
+
zip_info = zip_cities["78701-78705,78710,78712,78717,78719,78721-78739,78741-78742,78744-78751"]
|
200
203
|
expect(zip_info[:city]).to eq("Austin")
|
201
204
|
expect(zip_info[:state]).to eq("TX")
|
202
|
-
expect(zip_info[:zip]
|
205
|
+
expect(zip_info[:zip]).to eq("78701-78705,78710,78712,78717,78719,78721-78739,78741-78742,78744-78754,78756-78759,78798-78799")
|
203
206
|
expect(zip_info[:lat]).to eq(30.315)
|
204
207
|
expect(zip_info[:long]).to eq(-97.71)
|
205
208
|
|
@@ -220,8 +223,13 @@ describe Zipcoder do
|
|
220
223
|
|
221
224
|
it "returns just names of cities grouped" do
|
222
225
|
zip_cities = "78751,13601,78613,78700-78750".zip_cities grouped: true, names_only: true
|
223
|
-
expect(zip_cities.keys.sort).to eq(["13601", "78613", "78701-78751"])
|
224
|
-
|
226
|
+
expect(zip_cities.keys.sort).to eq(["13601", "78613", "78701-78705,78710,78712,78717,78719,78721-78739,78741-78742,78744-78751"])
|
227
|
+
expected = {
|
228
|
+
"78701-78705,78710,78712,78717,78719,78721-78739,78741-78742,78744-78751" => "Austin, TX",
|
229
|
+
"78613" => "Cedar Park, TX",
|
230
|
+
"13601" => "Watertown, NY"
|
231
|
+
}
|
232
|
+
expect(zip_cities).to eq(expected)
|
225
233
|
end
|
226
234
|
end
|
227
235
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zipcoder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Chapman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04-
|
11
|
+
date: 2018-04-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|