zipcoder 0.6.1 → 0.7.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 +4 -4
- data/README.md +7 -1
- data/lib/zipcoder/ext/string.rb +15 -0
- data/lib/zipcoder/version.rb +1 -1
- data/lib/zipcoder.rb +5 -1
- data/spec/zipcoder_spec.rb +5 -0
- metadata +20 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da6c92af24e45e88ce5762872762a0b82a8dbe1e
|
4
|
+
data.tar.gz: a2af7f58dc8b0d0e474033e19bff1219e6057384
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b1ff99da2fe430fafb89fe95063f23e972bf3d542e7be66ea025def54313ce18124c1d5cd7d39981271569de2bfa3da9f689b353bdbbed128ead972a1f66c9a
|
7
|
+
data.tar.gz: f50e7b15b00d995d97b6ea5e36360be6d615cd395c28a2e1dd2989b287824f57c26e65d4fd0b6e0647e0a9504acc47cd2f72d632aef73d6bfa65c1373098d403
|
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.7.0:
|
11
|
+
- added "zips_only" option to "city_info"
|
10
12
|
- v0.6.1:
|
11
13
|
- bug fix for the "grouped" option in the "zip_cities" method
|
12
14
|
- v0.6.0:
|
@@ -213,6 +215,7 @@ Zipcoder.city_info("Atlanta, GA", **args)
|
|
213
215
|
**arguments:**
|
214
216
|
|
215
217
|
- keys [Array] - array of keys to include (filters out the others)
|
218
|
+
- zips_only [Bool] - set to "true" if you want an array of just the zip codes for the city
|
216
219
|
|
217
220
|
**notes:**
|
218
221
|
|
@@ -228,7 +231,10 @@ Zipcoder.city_info("Atlanta, GA", **args)
|
|
228
231
|
require 'zipcoder'
|
229
232
|
|
230
233
|
puts "Austin, TX".city_info
|
231
|
-
# > {:zip=>"78701-
|
234
|
+
# > {:zip=>"78701-78705,78710,78712,78717,...", :city=>"AUSTIN", :state=>"TX", :lat=>30.26, :long=>-97.74}
|
235
|
+
|
236
|
+
puts "Austin, TX".city_info(zips_only: true)
|
237
|
+
# > ["78701", "78702", "78703", ...]
|
232
238
|
```
|
233
239
|
|
234
240
|
#### Method: Zipcoder.state_cities(state, **args)
|
data/lib/zipcoder/ext/string.rb
CHANGED
@@ -24,4 +24,19 @@ class String
|
|
24
24
|
self.length == 5
|
25
25
|
end
|
26
26
|
|
27
|
+
def breakout_zips
|
28
|
+
zips = []
|
29
|
+
self.split(',').each do |zip_group|
|
30
|
+
if zip_group.include? '-'
|
31
|
+
components = zip_group.split('-')
|
32
|
+
((components[0].to_i)...(components[1].to_i)).each do |zip|
|
33
|
+
zips.push(zip.to_s)
|
34
|
+
end
|
35
|
+
else
|
36
|
+
zips.push(zip_group)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
zips.sort
|
40
|
+
end
|
41
|
+
|
27
42
|
end
|
data/lib/zipcoder/version.rb
CHANGED
data/lib/zipcoder.rb
CHANGED
@@ -118,7 +118,11 @@ module Zipcoder
|
|
118
118
|
cached_value = self.cacher.read_city_cache(cache_key)
|
119
119
|
|
120
120
|
# Return it
|
121
|
-
|
121
|
+
if kwargs[:zips_only]
|
122
|
+
cached_value[:zip].breakout_zips
|
123
|
+
else
|
124
|
+
self._filter_hash_args cached_value, kwargs[:keys]
|
125
|
+
end
|
122
126
|
end
|
123
127
|
|
124
128
|
# Returns the cities in a state
|
data/spec/zipcoder_spec.rb
CHANGED
@@ -282,6 +282,11 @@ describe Zipcoder do
|
|
282
282
|
expect(city_info[:lat]).to be_nil
|
283
283
|
expect(city_info[:long]).to be_nil
|
284
284
|
end
|
285
|
+
it "only returns the zip codes" do
|
286
|
+
zip_codes = "Austin, TX".city_info zips_only: true
|
287
|
+
expect(zip_codes.count).to eq(41)
|
288
|
+
expect(zip_codes[0]).to eq('78701')
|
289
|
+
end
|
285
290
|
end
|
286
291
|
|
287
292
|
describe "state_cities" do
|
metadata
CHANGED
@@ -1,97 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zipcoder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
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-
|
11
|
+
date: 2018-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.7'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.7'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 3.5.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 3.5.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: simplecov
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: codecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: redis
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 3.3.5
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 3.3.5
|
97
97
|
description:
|
@@ -103,9 +103,9 @@ executables:
|
|
103
103
|
extensions: []
|
104
104
|
extra_rdoc_files: []
|
105
105
|
files:
|
106
|
-
-
|
107
|
-
-
|
108
|
-
-
|
106
|
+
- .gitignore
|
107
|
+
- .rspec
|
108
|
+
- .ruby-version
|
109
109
|
- Gemfile
|
110
110
|
- LICENSE.txt
|
111
111
|
- README.md
|
@@ -138,17 +138,17 @@ require_paths:
|
|
138
138
|
- lib
|
139
139
|
required_ruby_version: !ruby/object:Gem::Requirement
|
140
140
|
requirements:
|
141
|
-
- -
|
141
|
+
- - '>='
|
142
142
|
- !ruby/object:Gem::Version
|
143
143
|
version: '2.0'
|
144
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
145
|
requirements:
|
146
|
-
- -
|
146
|
+
- - '>='
|
147
147
|
- !ruby/object:Gem::Version
|
148
148
|
version: '0'
|
149
149
|
requirements: []
|
150
150
|
rubyforge_project:
|
151
|
-
rubygems_version: 2.
|
151
|
+
rubygems_version: 2.4.8
|
152
152
|
signing_key:
|
153
153
|
specification_version: 4
|
154
154
|
summary: Converts zip codes to cities, lat/long, and vice-versa
|