geolookup 0.6.2 → 0.6.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/.gitignore +1 -0
- data/CHANGELOG.rdoc +6 -0
- data/README.md +28 -0
- data/lib/data/{IGNORED_STATES.yml → TERRITORY_STATES.yml} +0 -0
- data/lib/geolookup/usa/state.rb +33 -12
- data/lib/geolookup/version.rb +1 -1
- data/spec/lib/state_spec.rb +117 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2448f87284821120335883ab119ff7267a562bc
|
4
|
+
data.tar.gz: 00865ae14c0a0f6946e1a670434da19c48aeb783
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ea4ab17b773b6a6ad344c13efe857ed1240beb39471f65551c949574802677a1fd58792af405431199b38386476a62e206110c07617bf4e43f54ef8bfba1d4e
|
7
|
+
data.tar.gz: a1b0d38ad66f04f85df8e71cd898c05d8db9032dfd1f9e423c868b7c7a3f470c4293ef7f6b2d3617cc252e6585f28816a8cdb99cee8c455253f3dd15c2f3752e
|
data/.gitignore
CHANGED
data/CHANGELOG.rdoc
CHANGED
data/README.md
CHANGED
@@ -85,6 +85,34 @@ Geolookup::USA::State.abbreviations_and_names
|
|
85
85
|
Geolookup::USA::State.codes
|
86
86
|
# => [1, 2, 4, ...]
|
87
87
|
|
88
|
+
# US Territory State Codes
|
89
|
+
Geolookup::USA::State.territory_state_codes
|
90
|
+
# => [60, 66, 69, ...]
|
91
|
+
|
92
|
+
# US Territory State Names
|
93
|
+
Geolookup::USA::State.territory_state_names
|
94
|
+
# => ["American Samoa", "Guam", ...]
|
95
|
+
|
96
|
+
# Determine if state is territory
|
97
|
+
|
98
|
+
# With code
|
99
|
+
Geolookup::USA::State.territory?(60)
|
100
|
+
# => true
|
101
|
+
|
102
|
+
Geolookup::USA::State.territory?('60')
|
103
|
+
# => true
|
104
|
+
|
105
|
+
# With state name
|
106
|
+
Geolookup::USA::State.territory?('Guam')
|
107
|
+
# => true
|
108
|
+
|
109
|
+
# With state abbreviation
|
110
|
+
Geolookup::USA::State.territory?('GU')
|
111
|
+
# => true
|
112
|
+
|
113
|
+
Geolookup::USA::State.territory?('AZ')
|
114
|
+
# => false
|
115
|
+
|
88
116
|
# US County Examples:
|
89
117
|
|
90
118
|
# Given a state code and county code return the county name
|
File without changes
|
data/lib/geolookup/usa/state.rb
CHANGED
@@ -7,7 +7,7 @@ module Geolookup
|
|
7
7
|
STATE_NAME_TO_CODE_FILE = 'STATE_NAME_TO_CODE.yml'
|
8
8
|
STATE_ABBREVIATION_TO_NAME_FILE = 'STATE_FULL_STATE_NAMES.yml'
|
9
9
|
STATE_LAT_LONG_FILE = 'STATE_LAT_LONG.yml'
|
10
|
-
|
10
|
+
TERRITORY_STATES_FILE = 'TERRITORY_STATES.yml'
|
11
11
|
DOMESTIC_STATE_CUTOFF = 56
|
12
12
|
|
13
13
|
@state_code_to_full
|
@@ -15,7 +15,7 @@ module Geolookup
|
|
15
15
|
@state_name_to_code
|
16
16
|
@state_abbreviation_to_name
|
17
17
|
@state_lat_long
|
18
|
-
@
|
18
|
+
@territory_states
|
19
19
|
@domestic_state_code_to_name
|
20
20
|
@domestic_state_code_to_abbreviation
|
21
21
|
###################################################################
|
@@ -167,25 +167,46 @@ module Geolookup
|
|
167
167
|
end
|
168
168
|
|
169
169
|
###################################################################
|
170
|
-
# self.
|
170
|
+
# self.territory_state_codes
|
171
171
|
#
|
172
|
-
# Returns an array of
|
172
|
+
# Returns an array of territory state codes
|
173
173
|
#
|
174
|
-
def self.
|
175
|
-
@
|
176
|
-
@
|
174
|
+
def self.territory_state_codes
|
175
|
+
@territory_states ||= Geolookup.load_hash_from_file(TERRITORY_STATES_FILE)
|
176
|
+
@territory_states.keys
|
177
177
|
end
|
178
178
|
|
179
179
|
###################################################################
|
180
|
-
# self.
|
180
|
+
# self.territory_state_names
|
181
181
|
#
|
182
|
-
# Returns an array of
|
182
|
+
# Returns an array of territory state names
|
183
183
|
#
|
184
|
-
def self.
|
185
|
-
@
|
186
|
-
@
|
184
|
+
def self.territory_state_names
|
185
|
+
@territory_states ||= Geolookup.load_hash_from_file(TERRITORY_STATES_FILE)
|
186
|
+
@territory_states.values
|
187
187
|
end
|
188
188
|
|
189
|
+
###################################################################
|
190
|
+
# self.territory?
|
191
|
+
#
|
192
|
+
# Given a state name, abbreviation, or code, returns true if the
|
193
|
+
# state should be territory and false otherwise.
|
194
|
+
#
|
195
|
+
def self.territory?(state)
|
196
|
+
@territory_states ||= Geolookup.load_hash_from_file(TERRITORY_STATES_FILE)
|
197
|
+
titlized_state_name = state.to_s.split.map(&:capitalize).join(' ')
|
198
|
+
|
199
|
+
is_territory_state_name = territory_state_names.include? titlized_state_name
|
200
|
+
is_territory_state_code = territory_state_codes.include? state.to_i
|
201
|
+
is_territory_state_abbreviation = territory_state_names.include? abbreviation_to_name(state)
|
202
|
+
|
203
|
+
is_territory_state_name || is_territory_state_code || is_territory_state_abbreviation
|
204
|
+
end
|
205
|
+
|
206
|
+
def self.ignored_state_codes() territory_state_codes end
|
207
|
+
def self.ignored_state_names() territory_state_names end
|
208
|
+
def self.ignored?(state) territory?(state) end
|
209
|
+
|
189
210
|
class << self
|
190
211
|
alias :abbreviation_to_code :name_to_code
|
191
212
|
alias :abbreviation_to_lat_long :name_to_lat_long
|
data/lib/geolookup/version.rb
CHANGED
data/spec/lib/state_spec.rb
CHANGED
@@ -38,15 +38,15 @@ describe "Geolookup::USA::State" do
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
|
-
describe "#
|
42
|
-
it 'should return an array of
|
43
|
-
expect(Geolookup::USA::State.
|
41
|
+
describe "#territory_state_codes" do
|
42
|
+
it 'should return an array of territory state codes' do
|
43
|
+
expect(Geolookup::USA::State.territory_state_codes).to include(60)
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
describe "#
|
48
|
-
it 'should return an array of
|
49
|
-
expect(Geolookup::USA::State.
|
47
|
+
describe "#territory_state_names" do
|
48
|
+
it 'should return an array of territory state names' do
|
49
|
+
expect(Geolookup::USA::State.territory_state_names).to include("American Samoa")
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
@@ -179,4 +179,115 @@ describe "Geolookup::USA::State" do
|
|
179
179
|
expect(Geolookup::USA::State.domestic_names).to_not include("Guam")
|
180
180
|
end
|
181
181
|
end
|
182
|
+
|
183
|
+
describe '#territory?' do
|
184
|
+
context 'input is a code' do
|
185
|
+
context 'code is an integer' do
|
186
|
+
context 'state is territory' do
|
187
|
+
it 'returns true' do
|
188
|
+
state_code = 60
|
189
|
+
expect(Geolookup::USA::State.territory?(state_code)).to be true
|
190
|
+
end
|
191
|
+
end
|
192
|
+
context 'state is not territory' do
|
193
|
+
it 'returns false' do
|
194
|
+
state_code = 1
|
195
|
+
expect(Geolookup::USA::State.territory?(state_code)).to be false
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
context 'code is a string' do
|
200
|
+
context 'state is territory' do
|
201
|
+
it 'returns true' do
|
202
|
+
state_code = '66'
|
203
|
+
expect(Geolookup::USA::State.territory?(state_code)).to be true
|
204
|
+
end
|
205
|
+
end
|
206
|
+
context 'state is not territory' do
|
207
|
+
it 'returns false' do
|
208
|
+
state_code = '2'
|
209
|
+
expect(Geolookup::USA::State.territory?(state_code)).to be false
|
210
|
+
end
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
context 'input is an abbreviation' do
|
215
|
+
context 'casing is all upcase' do
|
216
|
+
context 'state is territory' do
|
217
|
+
it 'returns true' do
|
218
|
+
state_abbreviation = 'MP'
|
219
|
+
expect(Geolookup::USA::State.territory?(state_abbreviation)).to be true
|
220
|
+
end
|
221
|
+
end
|
222
|
+
context 'state is not territory' do
|
223
|
+
it 'returns false' do
|
224
|
+
state_abbreviation = 'AZ'
|
225
|
+
expect(Geolookup::USA::State.territory?(state_abbreviation)).to be false
|
226
|
+
end
|
227
|
+
end
|
228
|
+
end
|
229
|
+
context 'casing is mixed' do
|
230
|
+
context 'state is territory' do
|
231
|
+
it 'returns true' do
|
232
|
+
state_abbreviation = 'vI'
|
233
|
+
expect(Geolookup::USA::State.territory?(state_abbreviation)).to be true
|
234
|
+
end
|
235
|
+
end
|
236
|
+
context 'state is not territory' do
|
237
|
+
it 'returns false' do
|
238
|
+
state_abbreviation = 'Ar'
|
239
|
+
expect(Geolookup::USA::State.territory?(state_abbreviation)).to be false
|
240
|
+
end
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
244
|
+
context 'input is a state name' do
|
245
|
+
context 'casing is all upcase' do
|
246
|
+
context 'state is territory' do
|
247
|
+
it 'returns true' do
|
248
|
+
state_name = 'AMERICAN SAMOA'
|
249
|
+
expect(Geolookup::USA::State.territory?(state_name)).to be true
|
250
|
+
end
|
251
|
+
end
|
252
|
+
context 'state is not territory' do
|
253
|
+
it 'returns false' do
|
254
|
+
state_name = 'CALIFORNIA'
|
255
|
+
expect(Geolookup::USA::State.territory?(state_name)).to be false
|
256
|
+
end
|
257
|
+
end
|
258
|
+
end
|
259
|
+
context 'casing is mixed' do
|
260
|
+
context 'state is territory' do
|
261
|
+
it 'returns true' do
|
262
|
+
state_name = 'Guam'
|
263
|
+
expect(Geolookup::USA::State.territory?(state_name)).to be true
|
264
|
+
end
|
265
|
+
end
|
266
|
+
context 'state is not territory' do
|
267
|
+
it 'returns false' do
|
268
|
+
state_name = 'CoLoRaDo'
|
269
|
+
expect(Geolookup::USA::State.territory?(state_name)).to be false
|
270
|
+
end
|
271
|
+
end
|
272
|
+
end
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
276
|
+
describe '#ignored_state_names' do
|
277
|
+
it 'returns territory_state_names' do
|
278
|
+
expect(Geolookup::USA::State.ignored_state_names).to eq Geolookup::USA::State.territory_state_names
|
279
|
+
end
|
280
|
+
end
|
281
|
+
|
282
|
+
describe '#ignored_state_codes' do
|
283
|
+
it 'returns territory_state_codes' do
|
284
|
+
expect(Geolookup::USA::State.ignored_state_codes).to eq Geolookup::USA::State.territory_state_codes
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
288
|
+
describe '#ignored?' do
|
289
|
+
it 'returns territory' do
|
290
|
+
expect(Geolookup::USA::State.ignored?('ca')).to eq Geolookup::USA::State.territory?('ca')
|
291
|
+
end
|
292
|
+
end
|
182
293
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geolookup
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Austin Fonacier
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2016-
|
14
|
+
date: 2016-11-16 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|
@@ -83,7 +83,6 @@ files:
|
|
83
83
|
- lib/data/COUNTY_IGNORED_STATES.yml
|
84
84
|
- lib/data/COUNTY_LAT_LONG.yml
|
85
85
|
- lib/data/COUNTY_NAME_TO_CODE.yml
|
86
|
-
- lib/data/IGNORED_STATES.yml
|
87
86
|
- lib/data/METRO_CODE_TO_NAME.yml
|
88
87
|
- lib/data/STATE_CODE_TO_DISPLAY_NAME.yml
|
89
88
|
- lib/data/STATE_CODE_TO_FULL.yml
|
@@ -91,6 +90,7 @@ files:
|
|
91
90
|
- lib/data/STATE_FULL_STATE_NAMES.yml
|
92
91
|
- lib/data/STATE_LAT_LONG.yml
|
93
92
|
- lib/data/STATE_NAME_TO_CODE.yml
|
93
|
+
- lib/data/TERRITORY_STATES.yml
|
94
94
|
- lib/data/ZIP_LAT_LONG.yml
|
95
95
|
- lib/geolookup.rb
|
96
96
|
- lib/geolookup/country.rb
|