zipcoder 0.6.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8571e134b662516144e40b8573db85c7b2b0c43b
4
- data.tar.gz: 2070c049408fd4fe282fe99a091967667ce8bb14
3
+ metadata.gz: da6c92af24e45e88ce5762872762a0b82a8dbe1e
4
+ data.tar.gz: a2af7f58dc8b0d0e474033e19bff1219e6057384
5
5
  SHA512:
6
- metadata.gz: 9bbaa6d9b65ee480e634b3f03ad4628098bf245426fdefce2e7ba4d219007c6d594c2e500cb091a6c762e2acd3ad246e04529e9dafd843763c9f57b777e989a5
7
- data.tar.gz: ca0550798ed00b6af3cf8d0f09469288a269bba19a3ce8d6fec9632ca9733dc9b154dba2f0b25e9c52ab66e0a08b17e80bac6b135191e0a7d5461d3a8dc0b7af
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-78799", :city=>"AUSTIN", :state=>"TX", :lat=>30.26, :long=>-97.74}
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)
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Zipcoder
2
- VERSION = "0.6.1"
2
+ VERSION = "0.7.0"
3
3
  end
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
- self._filter_hash_args cached_value, kwargs[:keys]
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
@@ -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.6.1
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-03-17 00:00:00.000000000 Z
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
- - ".gitignore"
107
- - ".rspec"
108
- - ".ruby-version"
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.5.1
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