geolookup 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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