geolookup 0.5.3 → 0.5.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.
@@ -2,13 +2,25 @@
2
2
  module Geolookup
3
3
  module USA
4
4
  module State
5
+ STATE_CODE_TO_FULL_FILE = './lib/data/STATE_CODE_TO_FULL.yml'
6
+ STATE_CODE_TO_ABBREVIATION_FILE = './lib/data/STATE_CODE_TO_STATE.yml'
7
+ STATE_NAME_TO_CODE_FILE = './lib/data/STATE_NAME_TO_CODE.yml'
8
+ STATE_ABBREVIATION_TO_NAME_FILE = './lib/data/STATE_FULL_STATE_NAMES.yml'
9
+ STATE_LAT_LONG_FILE = './lib/data/STATE_LAT_LONG.yml'
10
+
11
+ @state_code_to_full
12
+ @state_code_to_abbreviation
13
+ @state_name_to_code
14
+ @state_abbreviation_to_name
15
+ @state_lat_long
5
16
  ###################################################################
6
17
  # self.code_to_name
7
18
  #
8
19
  # Given a state code output full state name. Else return nil
9
20
  #
10
21
  def self.code_to_name(state_code)
11
- STATE_CODE_TO_FULL[state_code.to_s.to_i]
22
+ @state_code_to_full ||= Geolookup.load_hash_from_file(STATE_CODE_TO_FULL_FILE)
23
+ @state_code_to_full[state_code.to_s.to_i]
12
24
  end
13
25
 
14
26
  ###################################################################
@@ -17,7 +29,8 @@ module Geolookup
17
29
  # Given a state code output the state abbreviation. Else return nil
18
30
  #
19
31
  def self.code_to_abbreviation(state_code)
20
- CODE_TO_STATE[state_code.to_s.to_i]
32
+ @state_code_to_abbreviation ||= Geolookup.load_hash_from_file(STATE_CODE_TO_ABBREVIATION_FILE)
33
+ @state_code_to_abbreviation[state_code.to_s.to_i]
21
34
  end
22
35
 
23
36
  ###################################################################
@@ -37,7 +50,8 @@ module Geolookup
37
50
  # a state full name
38
51
  #
39
52
  def self.name_to_code(state_name)
40
- STATE_NAME_TO_CODE[state_name.to_s.upcase]
53
+ @state_name_to_code ||= Geolookup.load_hash_from_file(STATE_NAME_TO_CODE_FILE)
54
+ @state_name_to_code[state_name.to_s.upcase]
41
55
  end
42
56
 
43
57
  ###################################################################
@@ -46,7 +60,8 @@ module Geolookup
46
60
  # Given a state abbreviation return the full state name
47
61
  #
48
62
  def self.abbreviation_to_name(state_abbrev)
49
- FULL_STATE_NAMES[state_abbrev.to_s.upcase]
63
+ @state_abbreviation_to_name ||= Geolookup.load_hash_from_file(STATE_ABBREVIATION_TO_NAME_FILE)
64
+ @state_abbreviation_to_name[state_abbrev.to_s.upcase]
50
65
  end
51
66
 
52
67
  ###################################################################
@@ -64,7 +79,8 @@ module Geolookup
64
79
  # Given a code return the lat and long
65
80
  #
66
81
  def self.code_to_lat_long(state_code)
67
- STATE_LAT_LONG[state_code.to_s.to_i]
82
+ @state_lat_long ||= Geolookup.load_hash_from_file(STATE_LAT_LONG_FILE)
83
+ @state_lat_long[state_code.to_s.to_i]
68
84
  end
69
85
 
70
86
  ###################################################################
@@ -73,7 +89,8 @@ module Geolookup
73
89
  # Returns an array of state abbreviations
74
90
  #
75
91
  def self.abbreviations
76
- CODE_TO_STATE.values
92
+ @state_code_to_abbreviation ||= Geolookup.load_hash_from_file(STATE_CODE_TO_ABBREVIATION_FILE)
93
+ @state_code_to_abbreviation.values
77
94
  end
78
95
 
79
96
 
@@ -83,7 +100,8 @@ module Geolookup
83
100
  # Returns an array of state names
84
101
  #
85
102
  def self.names
86
- STATE_CODE_TO_FULL.values
103
+ @state_code_to_full ||= Geolookup.load_hash_from_file(STATE_CODE_TO_FULL_FILE)
104
+ @state_code_to_full.values
87
105
  end
88
106
 
89
107
  ###################################################################
@@ -92,425 +110,14 @@ module Geolookup
92
110
  # Returns an array of state names
93
111
  #
94
112
  def self.codes
95
- STATE_CODE_TO_FULL.keys
113
+ @state_code_to_full ||= Geolookup.load_hash_from_file(STATE_CODE_TO_FULL_FILE)
114
+ @state_code_to_full.keys
96
115
  end
97
116
 
98
117
  class << self
99
118
  alias :abbreviation_to_code :name_to_code
100
119
  alias :abbreviation_to_lat_long :name_to_lat_long
101
120
  end
102
-
103
- STATE_LAT_LONG = {
104
- 1 => [ 32318231, -86602298],
105
- 2 => [ 63588753, -154493062],
106
- 4 => [ 34048928, -111093731],
107
- 5 => [ 35201050, -91831833],
108
- 6 => [ 36778261, -119417932],
109
- 8 => [ 39550050, -105782067],
110
- 9 => [ 41603221, -73087749],
111
- 10 => [ 38910832, -75527670],
112
- 11 => [ 38905985, -77033418],
113
- 12 => [ 27664827, -81515754],
114
- 13 => [ 31557435, -83407123],
115
- 15 => [ 19898682, -155665857],
116
- 16 => [ 44068202, -114742041],
117
- 17 => [ 40633125, -89398528],
118
- 18 => [ 40551217, -85602364],
119
- 19 => [ 41878003, -93097702],
120
- 20 => [ 39011902, -98484247],
121
- 21 => [ 37839333, -84270018],
122
- 22 => [ 31244823, -92145025],
123
- 23 => [ 45253783, -69445469],
124
- 24 => [ 39645755, -77641271],
125
- 25 => [ 42407211, -71382437],
126
- 26 => [ 44314844, -85602364],
127
- 27 => [ 46729553, -94685900],
128
- 28 => [ 32354668, -89398528],
129
- 29 => [ 37964253, -91831833],
130
- 30 => [ 46879682, -110362566],
131
- 31 => [ 41492537, -99901813],
132
- 32 => [ 38802610, -116419389],
133
- 33 => [ 43193852, -71572395],
134
- 34 => [ 40858324, -74505661],
135
- 35 => [ 34972731, -105032364],
136
- 36 => [ 43014269, -75605973],
137
- 37 => [ 35359573, -78419300],
138
- 38 => [ 47551493, -101002012],
139
- 39 => [ 40417287, -82907123],
140
- 40 => [ 35007752, -97092877],
141
- 41 => [ 43804133, -120554201],
142
- 42 => [ 41203322, -79494525],
143
- 44 => [ 41580095, -71477429],
144
- 45 => [ 33536081, -80863725],
145
- 46 => [ 44269515, -99901813],
146
- 47 => [ 35517491, -86580447],
147
- 48 => [ 31968599, -99901813],
148
- 49 => [ 39320980, -111093731],
149
- 50 => [ 44558803, -72577841],
150
- 51 => [ 37431573, -78656894],
151
- 53 => [ 47495398, -120939249],
152
- 54 => [ 38297626, -80994903],
153
- 55 => [ 43784440, -88787868],
154
- 56 => [ 43075968, -107290284],
155
- 60 => [-14270972, -170132217],
156
- 66 => [ 13444304, 144793731],
157
- 69 => [ 17330830, 145384690],
158
- 72 => [ 18220833, -66590149],
159
- 78 => [ 18335765, -64896335]
160
- }
161
-
162
-
163
- STATE_CODE_TO_FULL = {
164
- 1 => "Alabama",
165
- 2 => "Alaska",
166
- 4 => "Arizona",
167
- 5 => "Arkansas",
168
- 6 => "California",
169
- 8 => "Colorado",
170
- 9 => "Connecticut",
171
- 10 => "Delaware",
172
- 11 => "District of Columbia",
173
- 12 => "Florida",
174
- 13 => "Georgia",
175
- 15 => "Hawaii",
176
- 16 => "Idaho",
177
- 17 => "Illinois",
178
- 18 => "Indiana",
179
- 19 => "Iowa",
180
- 20 => "Kansas",
181
- 21 => "Kentucky",
182
- 22 => "Louisiana",
183
- 23 => "Maine",
184
- 24 => "Maryland",
185
- 25 => "Massachusetts",
186
- 26 => "Michigan",
187
- 27 => "Minnesota",
188
- 28 => "Mississippi",
189
- 29 => "Missouri",
190
- 30 => "Montana",
191
- 31 => "Nebraska",
192
- 32 => "Nevada",
193
- 33 => "New Hampshire",
194
- 34 => "New Jersey",
195
- 35 => "New Mexico",
196
- 36 => "New York",
197
- 37 => "North Carolina",
198
- 38 => "North Dakota",
199
- 39 => "Ohio",
200
- 40 => "Oklahoma",
201
- 41 => "Oregon",
202
- 42 => "Pennsylvania",
203
- 44 => "Rhode Island",
204
- 45 => "South Carolina",
205
- 46 => "South Dakota",
206
- 47 => "Tennessee",
207
- 48 => "Texas",
208
- 49 => "Utah",
209
- 50 => "Vermont",
210
- 51 => "Virginia",
211
- 53 => "Washington",
212
- 54 => "West Virginia",
213
- 55 => "Wisconsin",
214
- 56 => "Wyoming",
215
- 60 => "American Somoa",
216
- 66 => "Guam",
217
- 69 => "Northern Mariana Islands",
218
- 72 => "Puerto Rico",
219
- 78 => "Virgin Islands"
220
- }
221
-
222
- CODE_TO_STATE = {
223
- 1 => "AL",
224
- 2 => "AK",
225
- 4 => "AZ",
226
- 5 => "AR",
227
- 6 => "CA",
228
- 8 => "CO",
229
- 9 => "CT",
230
- 10 => "DE",
231
- 11 => "DC",
232
- 12 => "FL",
233
- 13 => "GA",
234
- 15 => "HI",
235
- 16 => "ID",
236
- 17 => "IL",
237
- 18 => "IN",
238
- 19 => "IA",
239
- 20 => "KS",
240
- 21 => "KY",
241
- 22 => "LA",
242
- 23 => "ME",
243
- 24 => "MD",
244
- 25 => "MA",
245
- 26 => "MI",
246
- 27 => "MN",
247
- 28 => "MS",
248
- 29 => "MO",
249
- 30 => "MT",
250
- 31 => "NE",
251
- 32 => "NV",
252
- 33 => "NH",
253
- 34 => "NJ",
254
- 35 => "NM",
255
- 36 => "NY",
256
- 37 => "NC",
257
- 38 => "ND",
258
- 39 => "OH",
259
- 40 => "OK",
260
- 41 => "OR",
261
- 42 => "PA",
262
- 44 => "RI",
263
- 45 => "SC",
264
- 46 => "SD",
265
- 47 => "TN",
266
- 48 => "TX",
267
- 49 => "UT",
268
- 50 => "VT",
269
- 51 => "VA",
270
- 53 => "WA",
271
- 54 => "WV",
272
- 55 => "WI",
273
- 56 => "WY",
274
- 60 => "AS",
275
- 66 => "GU",
276
- 69 => "MP",
277
- 72 => "PR",
278
- 78 => "VI",
279
- }
280
-
281
- STATE_NAME_TO_CODE = {
282
- "AK" => 2,
283
- "ALASKA" => 2,
284
- "AL" => 1,
285
- "ALABAMA" => 1,
286
- "AR" => 5,
287
- "ARKANSAS" => 5,
288
- "AS" => 60,
289
- "AMERICAN SOMOA" => 60,
290
- "AZ" => 4,
291
- "ARIZONA" => 4,
292
- "CA" => 6,
293
- "CALIFORNIA" => 6,
294
- "CO" => 8,
295
- "COLORADO" => 8,
296
- "CT" => 9,
297
- "CONNECTICUT" => 9,
298
- "DC" => 11,
299
- "DISTRICT OF COLUMBIA" => 11,
300
- "DE" => 10,
301
- "DELAWARE" => 10,
302
- "FL" => 12,
303
- "FLORIDA" => 12,
304
- "GA" => 13,
305
- "GEORGIA" => 13,
306
- "GU" => 66,
307
- "GUAM" => 66,
308
- "HI" => 15,
309
- "HAWAII" => 15,
310
- "IA" => 19,
311
- "IOWA" => 19,
312
- "ID" => 16,
313
- "IDAHO" => 16,
314
- "IL" => 17,
315
- "ILLINOIS" => 17,
316
- "IN" => 18,
317
- "INDIANA" => 18,
318
- "KS" => 20,
319
- "KANSAS" => 20,
320
- "KY" => 21,
321
- "KENTUCKY" => 21,
322
- "LA" => 22,
323
- "LOUISIANA" => 22,
324
- "MA" => 25,
325
- "MASSACHUSETTS" => 25,
326
- "MD" => 24,
327
- "MARYLAND" => 24,
328
- "ME" => 23,
329
- "MAINE" => 23,
330
- "MI" => 26,
331
- "MICHIGAN" => 26,
332
- "MN" => 27,
333
- "MINNESOTA" => 27,
334
- "MO" => 29,
335
- "MISSOURI" => 29,
336
- "MP" => 69,
337
- "NORTHERN MARIANA ISLANDS" => 69,
338
- "MS" => 28,
339
- "MISSISSIPPI" => 28,
340
- "MT" => 30,
341
- "MONTANA" => 30,
342
- "NC" => 37,
343
- "NORTH CAROLINA" => 37,
344
- "ND" => 38,
345
- "NORTH DAKOTA" => 38,
346
- "NE" => 31,
347
- "NEBRASKA" => 31,
348
- "NH" => 33,
349
- "NEW HAMPSHIRE" => 33,
350
- "NJ" => 34,
351
- "NEW JERSEY" => 34,
352
- "NM" => 35,
353
- "NEW MEXICO" => 35,
354
- "NV" => 32,
355
- "NEVADA" => 32,
356
- "NY" => 36,
357
- "NEW YORK" => 36,
358
- "OH" => 39,
359
- "OHIO" => 39,
360
- "OK" => 40,
361
- "OKLAHOMA" => 40,
362
- "OR" => 41,
363
- "OREGON" => 41,
364
- "PA" => 42,
365
- "PENNSYLVANIA" => 42,
366
- "PR" => 72,
367
- "PUERTO RICO" => 72,
368
- "RI" => 44,
369
- "RHODE ISLAND" => 44,
370
- "SC" => 45,
371
- "SOUTH CAROLINA" => 45,
372
- "SD" => 46,
373
- "SOUTH DAKOTA" => 46,
374
- "TN" => 47,
375
- "TENNESSEE" => 47,
376
- "TX" => 48,
377
- "TEXAS" => 48,
378
- "UT" => 49,
379
- "UTAH" => 49,
380
- "VA" => 51,
381
- "VIRGINIA" => 51,
382
- "VI" => 78,
383
- "VIRGIN ISLANDS" => 78,
384
- "VT" => 50,
385
- "VERMONT" => 50,
386
- "WA" => 53,
387
- "WASHINGTON" => 53,
388
- "WI" => 55,
389
- "WISCONSIN" => 55,
390
- "WV" => 54,
391
- "WEST VIRGINIA" => 54,
392
- "WY" => 56,
393
- "WYOMING" => 56,
394
- }
395
-
396
- STATE_CODE_TO_DISPLAY_NAME = {
397
- 1 => "Alabama",
398
- 2 => "Alaska",
399
- 4 => "Arizona",
400
- 5 => "Arkansas",
401
- 6 => "California",
402
- 8 => "Colorado",
403
- 9 => "Connecticut",
404
- 10 => "Delaware",
405
- 11 => "District of Columbia",
406
- 12 => "Florida",
407
- 13 => "Georgia",
408
- 15 => "Hawaii",
409
- 16 => "Idaho",
410
- 17 => "Illinois",
411
- 18 => "Indiana",
412
- 19 => "Iowa",
413
- 20 => "Kansas",
414
- 21 => "Kentucky",
415
- 22 => "Louisiana",
416
- 23 => "Maine",
417
- 24 => "Maryland",
418
- 25 => "Massachusetts",
419
- 26 => "Michigan",
420
- 27 => "Minnesota",
421
- 28 => "Mississippi",
422
- 29 => "Missouri",
423
- 30 => "Montana",
424
- 31 => "Nebraska",
425
- 32 => "Nevada",
426
- 33 => "New Hampshire",
427
- 34 => "New Jersey",
428
- 35 => "New Mexico",
429
- 36 => "New York",
430
- 37 => "North Carolina",
431
- 38 => "North Dakota",
432
- 39 => "Ohio",
433
- 40 => "Oklahoma",
434
- 41 => "Oregon",
435
- 42 => "Pennsylvania",
436
- 44 => "Rhode Island",
437
- 45 => "South Carolina",
438
- 46 => "South Dakota",
439
- 47 => "Tennessee",
440
- 48 => "Texas",
441
- 49 => "Utah",
442
- 50 => "Vermont",
443
- 51 => "Virginia",
444
- 53 => "Washington",
445
- 54 => "West Virginia",
446
- 55 => "Wisconsin",
447
- 56 => "Wyoming",
448
- 60 => "American Somoa",
449
- 66 => "Guam",
450
- 69 => "Northern Mariana Islands",
451
- 72 => "Puerto Rico",
452
- 78 => "Virgin Islands",
453
- }
454
-
455
- FULL_STATE_NAMES = {
456
- "AK" => "Alaska",
457
- "AL" => "Alabama",
458
- "AR" => "Arkansas",
459
- "AS" => "American Somoa",
460
- "AZ" => "Arizona",
461
- "CA" => "California",
462
- "CO" => "Colorado",
463
- "CT" => "Connecticut",
464
- "DC" => "District of Columbia",
465
- "DE" => "Delaware",
466
- "FM" => "Federated States of Micronesia",
467
- "FL" => "Florida",
468
- "GA" => "Georgia",
469
- "GU" => "Guam",
470
- "HI" => "Hawaii",
471
- "IA" => "Iowa",
472
- "ID" => "Idaho",
473
- "IL" => "Illinois",
474
- "IN" => "Indiana",
475
- "KS" => "Kansas",
476
- "KY" => "Kentucky",
477
- "LA" => "Louisiana",
478
- "MA" => "Massachusetts",
479
- "MD" => "Maryland",
480
- "ME" => "Maine",
481
- "MI" => "Michigan",
482
- "MN" => "Minnesota",
483
- "MO" => "Missouri",
484
- "MP" => "Northern Mariana Islands",
485
- "MS" => "Mississippi",
486
- "MT" => "Montana",
487
- "NC" => "North Carolina",
488
- "ND" => "North Dakota",
489
- "NE" => "Nebraska",
490
- "NH" => "New Hampshire",
491
- "NJ" => "New Jersey",
492
- "NM" => "New Mexico",
493
- "NV" => "Nevada",
494
- "NY" => "New York",
495
- "OH" => "Ohio",
496
- "OK" => "Oklahoma",
497
- "OR" => "Oregon",
498
- "PA" => "Pennsylvania",
499
- "PR" => "Puerto Rico",
500
- "RI" => "Rhode Island",
501
- "SC" => "South Carolina",
502
- "SD" => "South Dakota",
503
- "TN" => "Tennessee",
504
- "TX" => "Texas",
505
- "UT" => "Utah",
506
- "VA" => "Virginia",
507
- "VI" => "Virgin Islands",
508
- "VT" => "Vermont",
509
- "WA" => "Washington",
510
- "WI" => "Wisconsin",
511
- "WV" => "West Virginia",
512
- "WY" => "Wyoming",
513
- }
514
121
  end
515
122
  end
516
- end
123
+ end