zipcoder 0.8.0 → 0.8.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 +4 -4
- data/README.md +6 -0
- data/lib/zipcoder/version.rb +1 -1
- data/lib/zipcoder.rb +7 -0
- data/spec/zipcoder_spec.rb +10 -0
- 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: d5ea79e54e07f65092ff72021e80e076cba9e348
|
4
|
+
data.tar.gz: d5193fdcbcb13cb7fa7badf543c02b23027c21e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b87a6b2a6fcaa9f2312a933341fb77bdd2c05656a074eb3546b283efd13a9850ab2871d2461dc604df7a8a5289838c10417c730ebdfbcdd590553cb37fedb1d3
|
7
|
+
data.tar.gz: c68067f063772d7a9e0bb2c3d4752da71f3656cb302a8fafe8b2887dc09a2778a617a9b255b9c21138897c405546c2ef8706247ff3070d927c7687918d90f83b
|
data/README.md
CHANGED
@@ -7,6 +7,8 @@ Gem for performing zip code lookup operations
|
|
7
7
|
|
8
8
|
## Revision History
|
9
9
|
|
10
|
+
- v0.8.1:
|
11
|
+
- added "filter" argument to "city_info" to filter the zip codes
|
10
12
|
- v0.8.0:
|
11
13
|
- added support for acceptable cities as well. The "zip_code" lookup will return
|
12
14
|
the primary but the "city, state" lookup will support the acceptable cities
|
@@ -225,6 +227,7 @@ Zipcoder.city_info("Atlanta, GA", **args)
|
|
225
227
|
|
226
228
|
- keys [Array] - array of keys to include (filters out the others)
|
227
229
|
- zips_only [Bool] - set to "true" if you want an array of just the zip codes for the city
|
230
|
+
- filter [String] - zip code string (i.e. "78701-78704,78748") that will filter the zip codes (ignored if "zip_code")
|
228
231
|
|
229
232
|
**notes:**
|
230
233
|
|
@@ -244,6 +247,9 @@ puts "Austin, TX".city_info
|
|
244
247
|
|
245
248
|
puts "Austin, TX".city_info(zips_only: true)
|
246
249
|
# > ["78701", "78702", "78703", ...]
|
250
|
+
|
251
|
+
puts "Austin, TX".city_info(filter: "78701-78704,78748")
|
252
|
+
# > {:zip=>"78701-78705,78710,78712,78717,...", :specified_zip=> "78701-78704,78748", :city=>"AUSTIN", :state=>"TX", :lat=>30.26, :long=>-97.74}
|
247
253
|
```
|
248
254
|
|
249
255
|
#### Method: Zipcoder.state_cities(state, **args)
|
data/lib/zipcoder/version.rb
CHANGED
data/lib/zipcoder.rb
CHANGED
@@ -113,6 +113,13 @@ module Zipcoder
|
|
113
113
|
cache_key = self._cache_key(city_state)
|
114
114
|
cached_value = self.cacher.read_city_cache(cache_key)
|
115
115
|
|
116
|
+
# If filter specified, create "specified_zip"
|
117
|
+
if kwargs[:filter]
|
118
|
+
normal_zips = cached_value[:zip].breakout_zips
|
119
|
+
filter_zips = kwargs[:filter].breakout_zips
|
120
|
+
cached_value[:specified_zip] = (normal_zips & filter_zips).combine_zips
|
121
|
+
end
|
122
|
+
|
116
123
|
# Return it
|
117
124
|
if cached_value == nil
|
118
125
|
nil
|
data/spec/zipcoder_spec.rb
CHANGED
@@ -299,6 +299,16 @@ describe Zipcoder do
|
|
299
299
|
expect(zip_codes[-1]).to eq('78799')
|
300
300
|
end
|
301
301
|
|
302
|
+
it "returns the specified zip codes in the filter" do
|
303
|
+
city_info = "Austin, TX".city_info filter: "78701-78704,78748,13601"
|
304
|
+
expect(city_info[:city]).to eq("Austin")
|
305
|
+
expect(city_info[:state]).to eq("TX")
|
306
|
+
expect(city_info[:specified_zip]).to eq("78701-78704,78748")
|
307
|
+
expect(city_info[:zip].start_with?("78701")).to eq(true)
|
308
|
+
expect(city_info[:lat]).to eq(30.315)
|
309
|
+
expect(city_info[:long]).to eq(-97.71)
|
310
|
+
end
|
311
|
+
|
302
312
|
it "returns an nil when the city state is non-existent" do
|
303
313
|
zip_codes = ", ".city_info
|
304
314
|
expect(zip_codes).to be_nil
|
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.8.
|
4
|
+
version: 0.8.1
|
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-05-
|
11
|
+
date: 2018-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|