simple-countries 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1501 @@
1
+ require "simple/countries/version"
2
+ require 'yaml'
3
+
4
+ module Simple
5
+ module Countries
6
+ def self.all
7
+ @countries = YAML.load_file(File.join(__dir__, 'countries.yml'))
8
+ end
9
+
10
+ def self.find(id)
11
+ @countries = YAML.load_file(File.join(__dir__, 'countries.yml'))
12
+ @countries[id] rescue nil
13
+ end
14
+
15
+ def self.first
16
+ @countries = YAML.load_file(File.join(__dir__, 'countries.yml'))
17
+ @countries.first
18
+ end
19
+
20
+ def self.last
21
+ @countries = YAML.load_file(File.join(__dir__, 'countries.yml'))
22
+ @countries.last
23
+ end
24
+
25
+ def self.find_by_alias(a)
26
+ {
27
+ 'AF' => 'Afghanistan',
28
+ 'AL' => 'Albania',
29
+ 'DZ' => 'Algeria',
30
+ 'AS' => 'American Samoa',
31
+ 'AD' => 'Andorra',
32
+ 'AO' => 'Angola',
33
+ 'AI' => 'Anguilla',
34
+ 'AQ' => 'Antarctica',
35
+ 'AG' => 'Antigua And Barbuda',
36
+ 'AR' => 'Argentina',
37
+ 'AM' => 'Armenia',
38
+ 'AW' => 'Aruba',
39
+ 'AU' => 'Australia',
40
+ 'AT' => 'Austria',
41
+ 'AZ' => 'Azerbaijan',
42
+ 'BS' => 'Bahamas',
43
+ 'BH' => 'Bahrain',
44
+ 'BD' => 'Bangladesh',
45
+ 'BB' => 'Barbados',
46
+ 'BY' => 'Belarus',
47
+ 'BE' => 'Belgium',
48
+ 'BZ' => 'Belize',
49
+ 'BJ' => 'Benin',
50
+ 'BM' => 'Bermuda',
51
+ 'BT' => 'Bhutan',
52
+ 'BO' => 'Bolivia',
53
+ 'BA' => 'Bosnia And Herzegovina',
54
+ 'BW' => 'Botswana',
55
+ 'BV' => 'Bouvet Island',
56
+ 'BR' => 'Brazil',
57
+ 'IO' => 'British Indian Ocean Territory',
58
+ 'BN' => 'Brunei Darussalam',
59
+ 'BG' => 'Bulgaria',
60
+ 'BF' => 'Burkina Faso',
61
+ 'BI' => 'Burundi',
62
+ 'KH' => 'Cambodia',
63
+ 'CM' => 'Cameroon',
64
+ 'CA' => 'Canada',
65
+ 'CV' => 'Cape Verde',
66
+ 'KY' => 'Cayman Islands',
67
+ 'CF' => 'Central African Republic',
68
+ 'TD' => 'Chad',
69
+ 'CL' => 'Chile',
70
+ 'CN' => 'China',
71
+ 'CX' => 'Christmas Island',
72
+ 'CC' => 'Cocos (keeling) Islands',
73
+ 'CO' => 'Colombia',
74
+ 'KM' => 'Comoros',
75
+ 'CG' => 'Congo',
76
+ 'CD' => 'Congo, The Democratic Republic Of The',
77
+ 'CK' => 'Cook Islands',
78
+ 'CR' => 'Costa Rica',
79
+ 'CI' => 'Cote D\'ivoire',
80
+ 'HR' => 'Croatia',
81
+ 'CU' => 'Cuba',
82
+ 'CY' => 'Cyprus',
83
+ 'CZ' => 'Czech Republic',
84
+ 'DK' => 'Denmark',
85
+ 'DJ' => 'Djibouti',
86
+ 'DM' => 'Dominica',
87
+ 'DO' => 'Dominican Republic',
88
+ 'TP' => 'East Timor',
89
+ 'EC' => 'Ecuador',
90
+ 'EG' => 'Egypt',
91
+ 'SV' => 'El Salvador',
92
+ 'GQ' => 'Equatorial Guinea',
93
+ 'ER' => 'Eritrea',
94
+ 'EE' => 'Estonia',
95
+ 'ET' => 'Ethiopia',
96
+ 'FK' => 'Falkland Islands (malvinas)',
97
+ 'FO' => 'Faroe Islands',
98
+ 'FJ' => 'Fiji',
99
+ 'FI' => 'Finland',
100
+ 'FR' => 'France',
101
+ 'GF' => 'French Guiana',
102
+ 'PF' => 'French Polynesia',
103
+ 'TF' => 'French Southern Territories',
104
+ 'GA' => 'Gabon',
105
+ 'GM' => 'Gambia',
106
+ 'GE' => 'Georgia',
107
+ 'DE' => 'Germany',
108
+ 'GH' => 'Ghana',
109
+ 'GI' => 'Gibraltar',
110
+ 'GR' => 'Greece',
111
+ 'GL' => 'Greenland',
112
+ 'GD' => 'Grenada',
113
+ 'GP' => 'Guadeloupe',
114
+ 'GU' => 'Guam',
115
+ 'GT' => 'Guatemala',
116
+ 'GN' => 'Guinea',
117
+ 'GW' => 'Guinea-bissau',
118
+ 'GY' => 'Guyana',
119
+ 'HT' => 'Haiti',
120
+ 'HM' => 'Heard Island And Mcdonald Islands',
121
+ 'VA' => 'Holy See (vatican City State)',
122
+ 'HN' => 'Honduras',
123
+ 'HK' => 'Hong Kong',
124
+ 'HU' => 'Hungary',
125
+ 'IS' => 'Iceland',
126
+ 'IN' => 'India',
127
+ 'ID' => 'Indonesia',
128
+ 'IR' => 'Iran, Islamic Republic Of',
129
+ 'IQ' => 'Iraq',
130
+ 'IE' => 'Ireland',
131
+ 'IL' => 'Israel',
132
+ 'IT' => 'Italy',
133
+ 'JM' => 'Jamaica',
134
+ 'JP' => 'Japan',
135
+ 'JO' => 'Jordan',
136
+ 'KZ' => 'Kazakstan',
137
+ 'KE' => 'Kenya',
138
+ 'KI' => 'Kiribati',
139
+ 'KP' => 'Korea, Democratic People\'s Republic Of',
140
+ 'KR' => 'Korea, Republic Of',
141
+ 'KV' => 'Kosovo',
142
+ 'KW' => 'Kuwait',
143
+ 'KG' => 'Kyrgyzstan',
144
+ 'LA' => 'Lao People\'s Democratic Republic',
145
+ 'LV' => 'Latvia',
146
+ 'LB' => 'Lebanon',
147
+ 'LS' => 'Lesotho',
148
+ 'LR' => 'Liberia',
149
+ 'LY' => 'Libyan Arab Jamahiriya',
150
+ 'LI' => 'Liechtenstein',
151
+ 'LT' => 'Lithuania',
152
+ 'LU' => 'Luxembourg',
153
+ 'MO' => 'Macau',
154
+ 'MK' => 'Macedonia, The Former Yugoslav Republic Of',
155
+ 'MG' => 'Madagascar',
156
+ 'MW' => 'Malawi',
157
+ 'MY' => 'Malaysia',
158
+ 'MV' => 'Maldives',
159
+ 'ML' => 'Mali',
160
+ 'MT' => 'Malta',
161
+ 'MH' => 'Marshall Islands',
162
+ 'MQ' => 'Martinique',
163
+ 'MR' => 'Mauritania',
164
+ 'MU' => 'Mauritius',
165
+ 'YT' => 'Mayotte',
166
+ 'MX' => 'Mexico',
167
+ 'FM' => 'Micronesia, Federated States Of',
168
+ 'MD' => 'Moldova, Republic Of',
169
+ 'MC' => 'Monaco',
170
+ 'MN' => 'Mongolia',
171
+ 'MS' => 'Montserrat',
172
+ 'ME' => 'Montenegro',
173
+ 'MA' => 'Morocco',
174
+ 'MZ' => 'Mozambique',
175
+ 'MM' => 'Myanmar',
176
+ 'NA' => 'Namibia',
177
+ 'NR' => 'Nauru',
178
+ 'NP' => 'Nepal',
179
+ 'NL' => 'Netherlands',
180
+ 'AN' => 'Netherlands Antilles',
181
+ 'NC' => 'New Caledonia',
182
+ 'NZ' => 'New Zealand',
183
+ 'NI' => 'Nicaragua',
184
+ 'NE' => 'Niger',
185
+ 'NG' => 'Nigeria',
186
+ 'NU' => 'Niue',
187
+ 'NF' => 'Norfolk Island',
188
+ 'MP' => 'Northern Mariana Islands',
189
+ 'NO' => 'Norway',
190
+ 'OM' => 'Oman',
191
+ 'PK' => 'Pakistan',
192
+ 'PW' => 'Palau',
193
+ 'PS' => 'Palestinian Territory, Occupied',
194
+ 'PA' => 'Panama',
195
+ 'PG' => 'Papua New Guinea',
196
+ 'PY' => 'Paraguay',
197
+ 'PE' => 'Peru',
198
+ 'PH' => 'Philippines',
199
+ 'PN' => 'Pitcairn',
200
+ 'PL' => 'Poland',
201
+ 'PT' => 'Portugal',
202
+ 'PR' => 'Puerto Rico',
203
+ 'QA' => 'Qatar',
204
+ 'RE' => 'Reunion',
205
+ 'RO' => 'Romania',
206
+ 'RU' => 'Russian Federation',
207
+ 'RW' => 'Rwanda',
208
+ 'SH' => 'Saint Helena',
209
+ 'KN' => 'Saint Kitts And Nevis',
210
+ 'LC' => 'Saint Lucia',
211
+ 'PM' => 'Saint Pierre And Miquelon',
212
+ 'VC' => 'Saint Vincent And The Grenadines',
213
+ 'WS' => 'Samoa',
214
+ 'SM' => 'San Marino',
215
+ 'ST' => 'Sao Tome And Principe',
216
+ 'SA' => 'Saudi Arabia',
217
+ 'SN' => 'Senegal',
218
+ 'RS' => 'Serbia',
219
+ 'SC' => 'Seychelles',
220
+ 'SL' => 'Sierra Leone',
221
+ 'SG' => 'Singapore',
222
+ 'SK' => 'Slovakia',
223
+ 'SI' => 'Slovenia',
224
+ 'SB' => 'Solomon Islands',
225
+ 'SO' => 'Somalia',
226
+ 'ZA' => 'South Africa',
227
+ 'GS' => 'South Georgia And The South Sandwich Islands',
228
+ 'ES' => 'Spain',
229
+ 'LK' => 'Sri Lanka',
230
+ 'SD' => 'Sudan',
231
+ 'SR' => 'Suriname',
232
+ 'SJ' => 'Svalbard And Jan Mayen',
233
+ 'SZ' => 'Swaziland',
234
+ 'SE' => 'Sweden',
235
+ 'CH' => 'Switzerland',
236
+ 'SY' => 'Syrian Arab Republic',
237
+ 'TW' => 'Taiwan, Province Of China',
238
+ 'TJ' => 'Tajikistan',
239
+ 'TZ' => 'Tanzania, United Republic Of',
240
+ 'TH' => 'Thailand',
241
+ 'TG' => 'Togo',
242
+ 'TK' => 'Tokelau',
243
+ 'TO' => 'Tonga',
244
+ 'TT' => 'Trinidad And Tobago',
245
+ 'TN' => 'Tunisia',
246
+ 'TR' => 'Turkey',
247
+ 'TM' => 'Turkmenistan',
248
+ 'TC' => 'Turks And Caicos Islands',
249
+ 'TV' => 'Tuvalu',
250
+ 'UG' => 'Uganda',
251
+ 'UA' => 'Ukraine',
252
+ 'AE' => 'United Arab Emirates',
253
+ 'GB' => 'United Kingdom',
254
+ 'US' => 'United States',
255
+ 'UM' => 'United States Minor Outlying Islands',
256
+ 'UY' => 'Uruguay',
257
+ 'UZ' => 'Uzbekistan',
258
+ 'VU' => 'Vanuatu',
259
+ 'VE' => 'Venezuela',
260
+ 'VN' => 'Viet Nam',
261
+ 'VG' => 'Virgin Islands, British',
262
+ 'VI' => 'Virgin Islands, U.s.',
263
+ 'WF' => 'Wallis And Futuna',
264
+ 'EH' => 'Western Sahara',
265
+ 'YE' => 'Yemen',
266
+ 'ZM' => 'Zambia',
267
+ 'ZW' => 'Zimbabwe'
268
+ }[a.upcase] rescue nil
269
+ end
270
+
271
+ def self.search(keyword)
272
+ {
273
+ 'AF' => 'Afghanistan',
274
+ 'AL' => 'Albania',
275
+ 'DZ' => 'Algeria',
276
+ 'AS' => 'American Samoa',
277
+ 'AD' => 'Andorra',
278
+ 'AO' => 'Angola',
279
+ 'AI' => 'Anguilla',
280
+ 'AQ' => 'Antarctica',
281
+ 'AG' => 'Antigua And Barbuda',
282
+ 'AR' => 'Argentina',
283
+ 'AM' => 'Armenia',
284
+ 'AW' => 'Aruba',
285
+ 'AU' => 'Australia',
286
+ 'AT' => 'Austria',
287
+ 'AZ' => 'Azerbaijan',
288
+ 'BS' => 'Bahamas',
289
+ 'BH' => 'Bahrain',
290
+ 'BD' => 'Bangladesh',
291
+ 'BB' => 'Barbados',
292
+ 'BY' => 'Belarus',
293
+ 'BE' => 'Belgium',
294
+ 'BZ' => 'Belize',
295
+ 'BJ' => 'Benin',
296
+ 'BM' => 'Bermuda',
297
+ 'BT' => 'Bhutan',
298
+ 'BO' => 'Bolivia',
299
+ 'BA' => 'Bosnia And Herzegovina',
300
+ 'BW' => 'Botswana',
301
+ 'BV' => 'Bouvet Island',
302
+ 'BR' => 'Brazil',
303
+ 'IO' => 'British Indian Ocean Territory',
304
+ 'BN' => 'Brunei Darussalam',
305
+ 'BG' => 'Bulgaria',
306
+ 'BF' => 'Burkina Faso',
307
+ 'BI' => 'Burundi',
308
+ 'KH' => 'Cambodia',
309
+ 'CM' => 'Cameroon',
310
+ 'CA' => 'Canada',
311
+ 'CV' => 'Cape Verde',
312
+ 'KY' => 'Cayman Islands',
313
+ 'CF' => 'Central African Republic',
314
+ 'TD' => 'Chad',
315
+ 'CL' => 'Chile',
316
+ 'CN' => 'China',
317
+ 'CX' => 'Christmas Island',
318
+ 'CC' => 'Cocos (keeling) Islands',
319
+ 'CO' => 'Colombia',
320
+ 'KM' => 'Comoros',
321
+ 'CG' => 'Congo',
322
+ 'CD' => 'Congo, The Democratic Republic Of The',
323
+ 'CK' => 'Cook Islands',
324
+ 'CR' => 'Costa Rica',
325
+ 'CI' => 'Cote D\'ivoire',
326
+ 'HR' => 'Croatia',
327
+ 'CU' => 'Cuba',
328
+ 'CY' => 'Cyprus',
329
+ 'CZ' => 'Czech Republic',
330
+ 'DK' => 'Denmark',
331
+ 'DJ' => 'Djibouti',
332
+ 'DM' => 'Dominica',
333
+ 'DO' => 'Dominican Republic',
334
+ 'TP' => 'East Timor',
335
+ 'EC' => 'Ecuador',
336
+ 'EG' => 'Egypt',
337
+ 'SV' => 'El Salvador',
338
+ 'GQ' => 'Equatorial Guinea',
339
+ 'ER' => 'Eritrea',
340
+ 'EE' => 'Estonia',
341
+ 'ET' => 'Ethiopia',
342
+ 'FK' => 'Falkland Islands (malvinas)',
343
+ 'FO' => 'Faroe Islands',
344
+ 'FJ' => 'Fiji',
345
+ 'FI' => 'Finland',
346
+ 'FR' => 'France',
347
+ 'GF' => 'French Guiana',
348
+ 'PF' => 'French Polynesia',
349
+ 'TF' => 'French Southern Territories',
350
+ 'GA' => 'Gabon',
351
+ 'GM' => 'Gambia',
352
+ 'GE' => 'Georgia',
353
+ 'DE' => 'Germany',
354
+ 'GH' => 'Ghana',
355
+ 'GI' => 'Gibraltar',
356
+ 'GR' => 'Greece',
357
+ 'GL' => 'Greenland',
358
+ 'GD' => 'Grenada',
359
+ 'GP' => 'Guadeloupe',
360
+ 'GU' => 'Guam',
361
+ 'GT' => 'Guatemala',
362
+ 'GN' => 'Guinea',
363
+ 'GW' => 'Guinea-bissau',
364
+ 'GY' => 'Guyana',
365
+ 'HT' => 'Haiti',
366
+ 'HM' => 'Heard Island And Mcdonald Islands',
367
+ 'VA' => 'Holy See (vatican City State)',
368
+ 'HN' => 'Honduras',
369
+ 'HK' => 'Hong Kong',
370
+ 'HU' => 'Hungary',
371
+ 'IS' => 'Iceland',
372
+ 'IN' => 'India',
373
+ 'ID' => 'Indonesia',
374
+ 'IR' => 'Iran, Islamic Republic Of',
375
+ 'IQ' => 'Iraq',
376
+ 'IE' => 'Ireland',
377
+ 'IL' => 'Israel',
378
+ 'IT' => 'Italy',
379
+ 'JM' => 'Jamaica',
380
+ 'JP' => 'Japan',
381
+ 'JO' => 'Jordan',
382
+ 'KZ' => 'Kazakstan',
383
+ 'KE' => 'Kenya',
384
+ 'KI' => 'Kiribati',
385
+ 'KP' => 'Korea, Democratic People\'s Republic Of',
386
+ 'KR' => 'Korea, Republic Of',
387
+ 'KV' => 'Kosovo',
388
+ 'KW' => 'Kuwait',
389
+ 'KG' => 'Kyrgyzstan',
390
+ 'LA' => 'Lao People\'s Democratic Republic',
391
+ 'LV' => 'Latvia',
392
+ 'LB' => 'Lebanon',
393
+ 'LS' => 'Lesotho',
394
+ 'LR' => 'Liberia',
395
+ 'LY' => 'Libyan Arab Jamahiriya',
396
+ 'LI' => 'Liechtenstein',
397
+ 'LT' => 'Lithuania',
398
+ 'LU' => 'Luxembourg',
399
+ 'MO' => 'Macau',
400
+ 'MK' => 'Macedonia, The Former Yugoslav Republic Of',
401
+ 'MG' => 'Madagascar',
402
+ 'MW' => 'Malawi',
403
+ 'MY' => 'Malaysia',
404
+ 'MV' => 'Maldives',
405
+ 'ML' => 'Mali',
406
+ 'MT' => 'Malta',
407
+ 'MH' => 'Marshall Islands',
408
+ 'MQ' => 'Martinique',
409
+ 'MR' => 'Mauritania',
410
+ 'MU' => 'Mauritius',
411
+ 'YT' => 'Mayotte',
412
+ 'MX' => 'Mexico',
413
+ 'FM' => 'Micronesia, Federated States Of',
414
+ 'MD' => 'Moldova, Republic Of',
415
+ 'MC' => 'Monaco',
416
+ 'MN' => 'Mongolia',
417
+ 'MS' => 'Montserrat',
418
+ 'ME' => 'Montenegro',
419
+ 'MA' => 'Morocco',
420
+ 'MZ' => 'Mozambique',
421
+ 'MM' => 'Myanmar',
422
+ 'NA' => 'Namibia',
423
+ 'NR' => 'Nauru',
424
+ 'NP' => 'Nepal',
425
+ 'NL' => 'Netherlands',
426
+ 'AN' => 'Netherlands Antilles',
427
+ 'NC' => 'New Caledonia',
428
+ 'NZ' => 'New Zealand',
429
+ 'NI' => 'Nicaragua',
430
+ 'NE' => 'Niger',
431
+ 'NG' => 'Nigeria',
432
+ 'NU' => 'Niue',
433
+ 'NF' => 'Norfolk Island',
434
+ 'MP' => 'Northern Mariana Islands',
435
+ 'NO' => 'Norway',
436
+ 'OM' => 'Oman',
437
+ 'PK' => 'Pakistan',
438
+ 'PW' => 'Palau',
439
+ 'PS' => 'Palestinian Territory, Occupied',
440
+ 'PA' => 'Panama',
441
+ 'PG' => 'Papua New Guinea',
442
+ 'PY' => 'Paraguay',
443
+ 'PE' => 'Peru',
444
+ 'PH' => 'Philippines',
445
+ 'PN' => 'Pitcairn',
446
+ 'PL' => 'Poland',
447
+ 'PT' => 'Portugal',
448
+ 'PR' => 'Puerto Rico',
449
+ 'QA' => 'Qatar',
450
+ 'RE' => 'Reunion',
451
+ 'RO' => 'Romania',
452
+ 'RU' => 'Russian Federation',
453
+ 'RW' => 'Rwanda',
454
+ 'SH' => 'Saint Helena',
455
+ 'KN' => 'Saint Kitts And Nevis',
456
+ 'LC' => 'Saint Lucia',
457
+ 'PM' => 'Saint Pierre And Miquelon',
458
+ 'VC' => 'Saint Vincent And The Grenadines',
459
+ 'WS' => 'Samoa',
460
+ 'SM' => 'San Marino',
461
+ 'ST' => 'Sao Tome And Principe',
462
+ 'SA' => 'Saudi Arabia',
463
+ 'SN' => 'Senegal',
464
+ 'RS' => 'Serbia',
465
+ 'SC' => 'Seychelles',
466
+ 'SL' => 'Sierra Leone',
467
+ 'SG' => 'Singapore',
468
+ 'SK' => 'Slovakia',
469
+ 'SI' => 'Slovenia',
470
+ 'SB' => 'Solomon Islands',
471
+ 'SO' => 'Somalia',
472
+ 'ZA' => 'South Africa',
473
+ 'GS' => 'South Georgia And The South Sandwich Islands',
474
+ 'ES' => 'Spain',
475
+ 'LK' => 'Sri Lanka',
476
+ 'SD' => 'Sudan',
477
+ 'SR' => 'Suriname',
478
+ 'SJ' => 'Svalbard And Jan Mayen',
479
+ 'SZ' => 'Swaziland',
480
+ 'SE' => 'Sweden',
481
+ 'CH' => 'Switzerland',
482
+ 'SY' => 'Syrian Arab Republic',
483
+ 'TW' => 'Taiwan, Province Of China',
484
+ 'TJ' => 'Tajikistan',
485
+ 'TZ' => 'Tanzania, United Republic Of',
486
+ 'TH' => 'Thailand',
487
+ 'TG' => 'Togo',
488
+ 'TK' => 'Tokelau',
489
+ 'TO' => 'Tonga',
490
+ 'TT' => 'Trinidad And Tobago',
491
+ 'TN' => 'Tunisia',
492
+ 'TR' => 'Turkey',
493
+ 'TM' => 'Turkmenistan',
494
+ 'TC' => 'Turks And Caicos Islands',
495
+ 'TV' => 'Tuvalu',
496
+ 'UG' => 'Uganda',
497
+ 'UA' => 'Ukraine',
498
+ 'AE' => 'United Arab Emirates',
499
+ 'GB' => 'United Kingdom',
500
+ 'US' => 'United States',
501
+ 'UM' => 'United States Minor Outlying Islands',
502
+ 'UY' => 'Uruguay',
503
+ 'UZ' => 'Uzbekistan',
504
+ 'VU' => 'Vanuatu',
505
+ 'VE' => 'Venezuela',
506
+ 'VN' => 'Viet Nam',
507
+ 'VG' => 'Virgin Islands, British',
508
+ 'VI' => 'Virgin Islands, U.s.',
509
+ 'WF' => 'Wallis And Futuna',
510
+ 'EH' => 'Western Sahara',
511
+ 'YE' => 'Yemen',
512
+ 'ZM' => 'Zambia',
513
+ 'ZW' => 'Zimbabwe'
514
+ }.inject([]) { |res, kv| res << kv if kv[1] =~ /#{keyword}/; res } rescue nil
515
+ end
516
+
517
+ def self.search_by_key(key)
518
+ {
519
+ 'AF' => 'Afghanistan',
520
+ 'AL' => 'Albania',
521
+ 'DZ' => 'Algeria',
522
+ 'AS' => 'American Samoa',
523
+ 'AD' => 'Andorra',
524
+ 'AO' => 'Angola',
525
+ 'AI' => 'Anguilla',
526
+ 'AQ' => 'Antarctica',
527
+ 'AG' => 'Antigua And Barbuda',
528
+ 'AR' => 'Argentina',
529
+ 'AM' => 'Armenia',
530
+ 'AW' => 'Aruba',
531
+ 'AU' => 'Australia',
532
+ 'AT' => 'Austria',
533
+ 'AZ' => 'Azerbaijan',
534
+ 'BS' => 'Bahamas',
535
+ 'BH' => 'Bahrain',
536
+ 'BD' => 'Bangladesh',
537
+ 'BB' => 'Barbados',
538
+ 'BY' => 'Belarus',
539
+ 'BE' => 'Belgium',
540
+ 'BZ' => 'Belize',
541
+ 'BJ' => 'Benin',
542
+ 'BM' => 'Bermuda',
543
+ 'BT' => 'Bhutan',
544
+ 'BO' => 'Bolivia',
545
+ 'BA' => 'Bosnia And Herzegovina',
546
+ 'BW' => 'Botswana',
547
+ 'BV' => 'Bouvet Island',
548
+ 'BR' => 'Brazil',
549
+ 'IO' => 'British Indian Ocean Territory',
550
+ 'BN' => 'Brunei Darussalam',
551
+ 'BG' => 'Bulgaria',
552
+ 'BF' => 'Burkina Faso',
553
+ 'BI' => 'Burundi',
554
+ 'KH' => 'Cambodia',
555
+ 'CM' => 'Cameroon',
556
+ 'CA' => 'Canada',
557
+ 'CV' => 'Cape Verde',
558
+ 'KY' => 'Cayman Islands',
559
+ 'CF' => 'Central African Republic',
560
+ 'TD' => 'Chad',
561
+ 'CL' => 'Chile',
562
+ 'CN' => 'China',
563
+ 'CX' => 'Christmas Island',
564
+ 'CC' => 'Cocos (keeling) Islands',
565
+ 'CO' => 'Colombia',
566
+ 'KM' => 'Comoros',
567
+ 'CG' => 'Congo',
568
+ 'CD' => 'Congo, The Democratic Republic Of The',
569
+ 'CK' => 'Cook Islands',
570
+ 'CR' => 'Costa Rica',
571
+ 'CI' => 'Cote D\'ivoire',
572
+ 'HR' => 'Croatia',
573
+ 'CU' => 'Cuba',
574
+ 'CY' => 'Cyprus',
575
+ 'CZ' => 'Czech Republic',
576
+ 'DK' => 'Denmark',
577
+ 'DJ' => 'Djibouti',
578
+ 'DM' => 'Dominica',
579
+ 'DO' => 'Dominican Republic',
580
+ 'TP' => 'East Timor',
581
+ 'EC' => 'Ecuador',
582
+ 'EG' => 'Egypt',
583
+ 'SV' => 'El Salvador',
584
+ 'GQ' => 'Equatorial Guinea',
585
+ 'ER' => 'Eritrea',
586
+ 'EE' => 'Estonia',
587
+ 'ET' => 'Ethiopia',
588
+ 'FK' => 'Falkland Islands (malvinas)',
589
+ 'FO' => 'Faroe Islands',
590
+ 'FJ' => 'Fiji',
591
+ 'FI' => 'Finland',
592
+ 'FR' => 'France',
593
+ 'GF' => 'French Guiana',
594
+ 'PF' => 'French Polynesia',
595
+ 'TF' => 'French Southern Territories',
596
+ 'GA' => 'Gabon',
597
+ 'GM' => 'Gambia',
598
+ 'GE' => 'Georgia',
599
+ 'DE' => 'Germany',
600
+ 'GH' => 'Ghana',
601
+ 'GI' => 'Gibraltar',
602
+ 'GR' => 'Greece',
603
+ 'GL' => 'Greenland',
604
+ 'GD' => 'Grenada',
605
+ 'GP' => 'Guadeloupe',
606
+ 'GU' => 'Guam',
607
+ 'GT' => 'Guatemala',
608
+ 'GN' => 'Guinea',
609
+ 'GW' => 'Guinea-bissau',
610
+ 'GY' => 'Guyana',
611
+ 'HT' => 'Haiti',
612
+ 'HM' => 'Heard Island And Mcdonald Islands',
613
+ 'VA' => 'Holy See (vatican City State)',
614
+ 'HN' => 'Honduras',
615
+ 'HK' => 'Hong Kong',
616
+ 'HU' => 'Hungary',
617
+ 'IS' => 'Iceland',
618
+ 'IN' => 'India',
619
+ 'ID' => 'Indonesia',
620
+ 'IR' => 'Iran, Islamic Republic Of',
621
+ 'IQ' => 'Iraq',
622
+ 'IE' => 'Ireland',
623
+ 'IL' => 'Israel',
624
+ 'IT' => 'Italy',
625
+ 'JM' => 'Jamaica',
626
+ 'JP' => 'Japan',
627
+ 'JO' => 'Jordan',
628
+ 'KZ' => 'Kazakstan',
629
+ 'KE' => 'Kenya',
630
+ 'KI' => 'Kiribati',
631
+ 'KP' => 'Korea, Democratic People\'s Republic Of',
632
+ 'KR' => 'Korea, Republic Of',
633
+ 'KV' => 'Kosovo',
634
+ 'KW' => 'Kuwait',
635
+ 'KG' => 'Kyrgyzstan',
636
+ 'LA' => 'Lao People\'s Democratic Republic',
637
+ 'LV' => 'Latvia',
638
+ 'LB' => 'Lebanon',
639
+ 'LS' => 'Lesotho',
640
+ 'LR' => 'Liberia',
641
+ 'LY' => 'Libyan Arab Jamahiriya',
642
+ 'LI' => 'Liechtenstein',
643
+ 'LT' => 'Lithuania',
644
+ 'LU' => 'Luxembourg',
645
+ 'MO' => 'Macau',
646
+ 'MK' => 'Macedonia, The Former Yugoslav Republic Of',
647
+ 'MG' => 'Madagascar',
648
+ 'MW' => 'Malawi',
649
+ 'MY' => 'Malaysia',
650
+ 'MV' => 'Maldives',
651
+ 'ML' => 'Mali',
652
+ 'MT' => 'Malta',
653
+ 'MH' => 'Marshall Islands',
654
+ 'MQ' => 'Martinique',
655
+ 'MR' => 'Mauritania',
656
+ 'MU' => 'Mauritius',
657
+ 'YT' => 'Mayotte',
658
+ 'MX' => 'Mexico',
659
+ 'FM' => 'Micronesia, Federated States Of',
660
+ 'MD' => 'Moldova, Republic Of',
661
+ 'MC' => 'Monaco',
662
+ 'MN' => 'Mongolia',
663
+ 'MS' => 'Montserrat',
664
+ 'ME' => 'Montenegro',
665
+ 'MA' => 'Morocco',
666
+ 'MZ' => 'Mozambique',
667
+ 'MM' => 'Myanmar',
668
+ 'NA' => 'Namibia',
669
+ 'NR' => 'Nauru',
670
+ 'NP' => 'Nepal',
671
+ 'NL' => 'Netherlands',
672
+ 'AN' => 'Netherlands Antilles',
673
+ 'NC' => 'New Caledonia',
674
+ 'NZ' => 'New Zealand',
675
+ 'NI' => 'Nicaragua',
676
+ 'NE' => 'Niger',
677
+ 'NG' => 'Nigeria',
678
+ 'NU' => 'Niue',
679
+ 'NF' => 'Norfolk Island',
680
+ 'MP' => 'Northern Mariana Islands',
681
+ 'NO' => 'Norway',
682
+ 'OM' => 'Oman',
683
+ 'PK' => 'Pakistan',
684
+ 'PW' => 'Palau',
685
+ 'PS' => 'Palestinian Territory, Occupied',
686
+ 'PA' => 'Panama',
687
+ 'PG' => 'Papua New Guinea',
688
+ 'PY' => 'Paraguay',
689
+ 'PE' => 'Peru',
690
+ 'PH' => 'Philippines',
691
+ 'PN' => 'Pitcairn',
692
+ 'PL' => 'Poland',
693
+ 'PT' => 'Portugal',
694
+ 'PR' => 'Puerto Rico',
695
+ 'QA' => 'Qatar',
696
+ 'RE' => 'Reunion',
697
+ 'RO' => 'Romania',
698
+ 'RU' => 'Russian Federation',
699
+ 'RW' => 'Rwanda',
700
+ 'SH' => 'Saint Helena',
701
+ 'KN' => 'Saint Kitts And Nevis',
702
+ 'LC' => 'Saint Lucia',
703
+ 'PM' => 'Saint Pierre And Miquelon',
704
+ 'VC' => 'Saint Vincent And The Grenadines',
705
+ 'WS' => 'Samoa',
706
+ 'SM' => 'San Marino',
707
+ 'ST' => 'Sao Tome And Principe',
708
+ 'SA' => 'Saudi Arabia',
709
+ 'SN' => 'Senegal',
710
+ 'RS' => 'Serbia',
711
+ 'SC' => 'Seychelles',
712
+ 'SL' => 'Sierra Leone',
713
+ 'SG' => 'Singapore',
714
+ 'SK' => 'Slovakia',
715
+ 'SI' => 'Slovenia',
716
+ 'SB' => 'Solomon Islands',
717
+ 'SO' => 'Somalia',
718
+ 'ZA' => 'South Africa',
719
+ 'GS' => 'South Georgia And The South Sandwich Islands',
720
+ 'ES' => 'Spain',
721
+ 'LK' => 'Sri Lanka',
722
+ 'SD' => 'Sudan',
723
+ 'SR' => 'Suriname',
724
+ 'SJ' => 'Svalbard And Jan Mayen',
725
+ 'SZ' => 'Swaziland',
726
+ 'SE' => 'Sweden',
727
+ 'CH' => 'Switzerland',
728
+ 'SY' => 'Syrian Arab Republic',
729
+ 'TW' => 'Taiwan, Province Of China',
730
+ 'TJ' => 'Tajikistan',
731
+ 'TZ' => 'Tanzania, United Republic Of',
732
+ 'TH' => 'Thailand',
733
+ 'TG' => 'Togo',
734
+ 'TK' => 'Tokelau',
735
+ 'TO' => 'Tonga',
736
+ 'TT' => 'Trinidad And Tobago',
737
+ 'TN' => 'Tunisia',
738
+ 'TR' => 'Turkey',
739
+ 'TM' => 'Turkmenistan',
740
+ 'TC' => 'Turks And Caicos Islands',
741
+ 'TV' => 'Tuvalu',
742
+ 'UG' => 'Uganda',
743
+ 'UA' => 'Ukraine',
744
+ 'AE' => 'United Arab Emirates',
745
+ 'GB' => 'United Kingdom',
746
+ 'US' => 'United States',
747
+ 'UM' => 'United States Minor Outlying Islands',
748
+ 'UY' => 'Uruguay',
749
+ 'UZ' => 'Uzbekistan',
750
+ 'VU' => 'Vanuatu',
751
+ 'VE' => 'Venezuela',
752
+ 'VN' => 'Viet Nam',
753
+ 'VG' => 'Virgin Islands, British',
754
+ 'VI' => 'Virgin Islands, U.s.',
755
+ 'WF' => 'Wallis And Futuna',
756
+ 'EH' => 'Western Sahara',
757
+ 'YE' => 'Yemen',
758
+ 'ZM' => 'Zambia',
759
+ 'ZW' => 'Zimbabwe'
760
+ }.keys.grep(/#{key}/)
761
+ end
762
+
763
+ def self.has_key?(key)
764
+ {
765
+ 'AF' => 'Afghanistan',
766
+ 'AL' => 'Albania',
767
+ 'DZ' => 'Algeria',
768
+ 'AS' => 'American Samoa',
769
+ 'AD' => 'Andorra',
770
+ 'AO' => 'Angola',
771
+ 'AI' => 'Anguilla',
772
+ 'AQ' => 'Antarctica',
773
+ 'AG' => 'Antigua And Barbuda',
774
+ 'AR' => 'Argentina',
775
+ 'AM' => 'Armenia',
776
+ 'AW' => 'Aruba',
777
+ 'AU' => 'Australia',
778
+ 'AT' => 'Austria',
779
+ 'AZ' => 'Azerbaijan',
780
+ 'BS' => 'Bahamas',
781
+ 'BH' => 'Bahrain',
782
+ 'BD' => 'Bangladesh',
783
+ 'BB' => 'Barbados',
784
+ 'BY' => 'Belarus',
785
+ 'BE' => 'Belgium',
786
+ 'BZ' => 'Belize',
787
+ 'BJ' => 'Benin',
788
+ 'BM' => 'Bermuda',
789
+ 'BT' => 'Bhutan',
790
+ 'BO' => 'Bolivia',
791
+ 'BA' => 'Bosnia And Herzegovina',
792
+ 'BW' => 'Botswana',
793
+ 'BV' => 'Bouvet Island',
794
+ 'BR' => 'Brazil',
795
+ 'IO' => 'British Indian Ocean Territory',
796
+ 'BN' => 'Brunei Darussalam',
797
+ 'BG' => 'Bulgaria',
798
+ 'BF' => 'Burkina Faso',
799
+ 'BI' => 'Burundi',
800
+ 'KH' => 'Cambodia',
801
+ 'CM' => 'Cameroon',
802
+ 'CA' => 'Canada',
803
+ 'CV' => 'Cape Verde',
804
+ 'KY' => 'Cayman Islands',
805
+ 'CF' => 'Central African Republic',
806
+ 'TD' => 'Chad',
807
+ 'CL' => 'Chile',
808
+ 'CN' => 'China',
809
+ 'CX' => 'Christmas Island',
810
+ 'CC' => 'Cocos (keeling) Islands',
811
+ 'CO' => 'Colombia',
812
+ 'KM' => 'Comoros',
813
+ 'CG' => 'Congo',
814
+ 'CD' => 'Congo, The Democratic Republic Of The',
815
+ 'CK' => 'Cook Islands',
816
+ 'CR' => 'Costa Rica',
817
+ 'CI' => 'Cote D\'ivoire',
818
+ 'HR' => 'Croatia',
819
+ 'CU' => 'Cuba',
820
+ 'CY' => 'Cyprus',
821
+ 'CZ' => 'Czech Republic',
822
+ 'DK' => 'Denmark',
823
+ 'DJ' => 'Djibouti',
824
+ 'DM' => 'Dominica',
825
+ 'DO' => 'Dominican Republic',
826
+ 'TP' => 'East Timor',
827
+ 'EC' => 'Ecuador',
828
+ 'EG' => 'Egypt',
829
+ 'SV' => 'El Salvador',
830
+ 'GQ' => 'Equatorial Guinea',
831
+ 'ER' => 'Eritrea',
832
+ 'EE' => 'Estonia',
833
+ 'ET' => 'Ethiopia',
834
+ 'FK' => 'Falkland Islands (malvinas)',
835
+ 'FO' => 'Faroe Islands',
836
+ 'FJ' => 'Fiji',
837
+ 'FI' => 'Finland',
838
+ 'FR' => 'France',
839
+ 'GF' => 'French Guiana',
840
+ 'PF' => 'French Polynesia',
841
+ 'TF' => 'French Southern Territories',
842
+ 'GA' => 'Gabon',
843
+ 'GM' => 'Gambia',
844
+ 'GE' => 'Georgia',
845
+ 'DE' => 'Germany',
846
+ 'GH' => 'Ghana',
847
+ 'GI' => 'Gibraltar',
848
+ 'GR' => 'Greece',
849
+ 'GL' => 'Greenland',
850
+ 'GD' => 'Grenada',
851
+ 'GP' => 'Guadeloupe',
852
+ 'GU' => 'Guam',
853
+ 'GT' => 'Guatemala',
854
+ 'GN' => 'Guinea',
855
+ 'GW' => 'Guinea-bissau',
856
+ 'GY' => 'Guyana',
857
+ 'HT' => 'Haiti',
858
+ 'HM' => 'Heard Island And Mcdonald Islands',
859
+ 'VA' => 'Holy See (vatican City State)',
860
+ 'HN' => 'Honduras',
861
+ 'HK' => 'Hong Kong',
862
+ 'HU' => 'Hungary',
863
+ 'IS' => 'Iceland',
864
+ 'IN' => 'India',
865
+ 'ID' => 'Indonesia',
866
+ 'IR' => 'Iran, Islamic Republic Of',
867
+ 'IQ' => 'Iraq',
868
+ 'IE' => 'Ireland',
869
+ 'IL' => 'Israel',
870
+ 'IT' => 'Italy',
871
+ 'JM' => 'Jamaica',
872
+ 'JP' => 'Japan',
873
+ 'JO' => 'Jordan',
874
+ 'KZ' => 'Kazakstan',
875
+ 'KE' => 'Kenya',
876
+ 'KI' => 'Kiribati',
877
+ 'KP' => 'Korea, Democratic People\'s Republic Of',
878
+ 'KR' => 'Korea, Republic Of',
879
+ 'KV' => 'Kosovo',
880
+ 'KW' => 'Kuwait',
881
+ 'KG' => 'Kyrgyzstan',
882
+ 'LA' => 'Lao People\'s Democratic Republic',
883
+ 'LV' => 'Latvia',
884
+ 'LB' => 'Lebanon',
885
+ 'LS' => 'Lesotho',
886
+ 'LR' => 'Liberia',
887
+ 'LY' => 'Libyan Arab Jamahiriya',
888
+ 'LI' => 'Liechtenstein',
889
+ 'LT' => 'Lithuania',
890
+ 'LU' => 'Luxembourg',
891
+ 'MO' => 'Macau',
892
+ 'MK' => 'Macedonia, The Former Yugoslav Republic Of',
893
+ 'MG' => 'Madagascar',
894
+ 'MW' => 'Malawi',
895
+ 'MY' => 'Malaysia',
896
+ 'MV' => 'Maldives',
897
+ 'ML' => 'Mali',
898
+ 'MT' => 'Malta',
899
+ 'MH' => 'Marshall Islands',
900
+ 'MQ' => 'Martinique',
901
+ 'MR' => 'Mauritania',
902
+ 'MU' => 'Mauritius',
903
+ 'YT' => 'Mayotte',
904
+ 'MX' => 'Mexico',
905
+ 'FM' => 'Micronesia, Federated States Of',
906
+ 'MD' => 'Moldova, Republic Of',
907
+ 'MC' => 'Monaco',
908
+ 'MN' => 'Mongolia',
909
+ 'MS' => 'Montserrat',
910
+ 'ME' => 'Montenegro',
911
+ 'MA' => 'Morocco',
912
+ 'MZ' => 'Mozambique',
913
+ 'MM' => 'Myanmar',
914
+ 'NA' => 'Namibia',
915
+ 'NR' => 'Nauru',
916
+ 'NP' => 'Nepal',
917
+ 'NL' => 'Netherlands',
918
+ 'AN' => 'Netherlands Antilles',
919
+ 'NC' => 'New Caledonia',
920
+ 'NZ' => 'New Zealand',
921
+ 'NI' => 'Nicaragua',
922
+ 'NE' => 'Niger',
923
+ 'NG' => 'Nigeria',
924
+ 'NU' => 'Niue',
925
+ 'NF' => 'Norfolk Island',
926
+ 'MP' => 'Northern Mariana Islands',
927
+ 'NO' => 'Norway',
928
+ 'OM' => 'Oman',
929
+ 'PK' => 'Pakistan',
930
+ 'PW' => 'Palau',
931
+ 'PS' => 'Palestinian Territory, Occupied',
932
+ 'PA' => 'Panama',
933
+ 'PG' => 'Papua New Guinea',
934
+ 'PY' => 'Paraguay',
935
+ 'PE' => 'Peru',
936
+ 'PH' => 'Philippines',
937
+ 'PN' => 'Pitcairn',
938
+ 'PL' => 'Poland',
939
+ 'PT' => 'Portugal',
940
+ 'PR' => 'Puerto Rico',
941
+ 'QA' => 'Qatar',
942
+ 'RE' => 'Reunion',
943
+ 'RO' => 'Romania',
944
+ 'RU' => 'Russian Federation',
945
+ 'RW' => 'Rwanda',
946
+ 'SH' => 'Saint Helena',
947
+ 'KN' => 'Saint Kitts And Nevis',
948
+ 'LC' => 'Saint Lucia',
949
+ 'PM' => 'Saint Pierre And Miquelon',
950
+ 'VC' => 'Saint Vincent And The Grenadines',
951
+ 'WS' => 'Samoa',
952
+ 'SM' => 'San Marino',
953
+ 'ST' => 'Sao Tome And Principe',
954
+ 'SA' => 'Saudi Arabia',
955
+ 'SN' => 'Senegal',
956
+ 'RS' => 'Serbia',
957
+ 'SC' => 'Seychelles',
958
+ 'SL' => 'Sierra Leone',
959
+ 'SG' => 'Singapore',
960
+ 'SK' => 'Slovakia',
961
+ 'SI' => 'Slovenia',
962
+ 'SB' => 'Solomon Islands',
963
+ 'SO' => 'Somalia',
964
+ 'ZA' => 'South Africa',
965
+ 'GS' => 'South Georgia And The South Sandwich Islands',
966
+ 'ES' => 'Spain',
967
+ 'LK' => 'Sri Lanka',
968
+ 'SD' => 'Sudan',
969
+ 'SR' => 'Suriname',
970
+ 'SJ' => 'Svalbard And Jan Mayen',
971
+ 'SZ' => 'Swaziland',
972
+ 'SE' => 'Sweden',
973
+ 'CH' => 'Switzerland',
974
+ 'SY' => 'Syrian Arab Republic',
975
+ 'TW' => 'Taiwan, Province Of China',
976
+ 'TJ' => 'Tajikistan',
977
+ 'TZ' => 'Tanzania, United Republic Of',
978
+ 'TH' => 'Thailand',
979
+ 'TG' => 'Togo',
980
+ 'TK' => 'Tokelau',
981
+ 'TO' => 'Tonga',
982
+ 'TT' => 'Trinidad And Tobago',
983
+ 'TN' => 'Tunisia',
984
+ 'TR' => 'Turkey',
985
+ 'TM' => 'Turkmenistan',
986
+ 'TC' => 'Turks And Caicos Islands',
987
+ 'TV' => 'Tuvalu',
988
+ 'UG' => 'Uganda',
989
+ 'UA' => 'Ukraine',
990
+ 'AE' => 'United Arab Emirates',
991
+ 'GB' => 'United Kingdom',
992
+ 'US' => 'United States',
993
+ 'UM' => 'United States Minor Outlying Islands',
994
+ 'UY' => 'Uruguay',
995
+ 'UZ' => 'Uzbekistan',
996
+ 'VU' => 'Vanuatu',
997
+ 'VE' => 'Venezuela',
998
+ 'VN' => 'Viet Nam',
999
+ 'VG' => 'Virgin Islands, British',
1000
+ 'VI' => 'Virgin Islands, U.s.',
1001
+ 'WF' => 'Wallis And Futuna',
1002
+ 'EH' => 'Western Sahara',
1003
+ 'YE' => 'Yemen',
1004
+ 'ZM' => 'Zambia',
1005
+ 'ZW' => 'Zimbabwe'
1006
+ }[key].nil? ? false : true
1007
+ end
1008
+
1009
+ def self.alias
1010
+ {
1011
+ 'AF' => 'Afghanistan',
1012
+ 'AL' => 'Albania',
1013
+ 'DZ' => 'Algeria',
1014
+ 'AS' => 'American Samoa',
1015
+ 'AD' => 'Andorra',
1016
+ 'AO' => 'Angola',
1017
+ 'AI' => 'Anguilla',
1018
+ 'AQ' => 'Antarctica',
1019
+ 'AG' => 'Antigua And Barbuda',
1020
+ 'AR' => 'Argentina',
1021
+ 'AM' => 'Armenia',
1022
+ 'AW' => 'Aruba',
1023
+ 'AU' => 'Australia',
1024
+ 'AT' => 'Austria',
1025
+ 'AZ' => 'Azerbaijan',
1026
+ 'BS' => 'Bahamas',
1027
+ 'BH' => 'Bahrain',
1028
+ 'BD' => 'Bangladesh',
1029
+ 'BB' => 'Barbados',
1030
+ 'BY' => 'Belarus',
1031
+ 'BE' => 'Belgium',
1032
+ 'BZ' => 'Belize',
1033
+ 'BJ' => 'Benin',
1034
+ 'BM' => 'Bermuda',
1035
+ 'BT' => 'Bhutan',
1036
+ 'BO' => 'Bolivia',
1037
+ 'BA' => 'Bosnia And Herzegovina',
1038
+ 'BW' => 'Botswana',
1039
+ 'BV' => 'Bouvet Island',
1040
+ 'BR' => 'Brazil',
1041
+ 'IO' => 'British Indian Ocean Territory',
1042
+ 'BN' => 'Brunei Darussalam',
1043
+ 'BG' => 'Bulgaria',
1044
+ 'BF' => 'Burkina Faso',
1045
+ 'BI' => 'Burundi',
1046
+ 'KH' => 'Cambodia',
1047
+ 'CM' => 'Cameroon',
1048
+ 'CA' => 'Canada',
1049
+ 'CV' => 'Cape Verde',
1050
+ 'KY' => 'Cayman Islands',
1051
+ 'CF' => 'Central African Republic',
1052
+ 'TD' => 'Chad',
1053
+ 'CL' => 'Chile',
1054
+ 'CN' => 'China',
1055
+ 'CX' => 'Christmas Island',
1056
+ 'CC' => 'Cocos (keeling) Islands',
1057
+ 'CO' => 'Colombia',
1058
+ 'KM' => 'Comoros',
1059
+ 'CG' => 'Congo',
1060
+ 'CD' => 'Congo, The Democratic Republic Of The',
1061
+ 'CK' => 'Cook Islands',
1062
+ 'CR' => 'Costa Rica',
1063
+ 'CI' => 'Cote D\'ivoire',
1064
+ 'HR' => 'Croatia',
1065
+ 'CU' => 'Cuba',
1066
+ 'CY' => 'Cyprus',
1067
+ 'CZ' => 'Czech Republic',
1068
+ 'DK' => 'Denmark',
1069
+ 'DJ' => 'Djibouti',
1070
+ 'DM' => 'Dominica',
1071
+ 'DO' => 'Dominican Republic',
1072
+ 'TP' => 'East Timor',
1073
+ 'EC' => 'Ecuador',
1074
+ 'EG' => 'Egypt',
1075
+ 'SV' => 'El Salvador',
1076
+ 'GQ' => 'Equatorial Guinea',
1077
+ 'ER' => 'Eritrea',
1078
+ 'EE' => 'Estonia',
1079
+ 'ET' => 'Ethiopia',
1080
+ 'FK' => 'Falkland Islands (malvinas)',
1081
+ 'FO' => 'Faroe Islands',
1082
+ 'FJ' => 'Fiji',
1083
+ 'FI' => 'Finland',
1084
+ 'FR' => 'France',
1085
+ 'GF' => 'French Guiana',
1086
+ 'PF' => 'French Polynesia',
1087
+ 'TF' => 'French Southern Territories',
1088
+ 'GA' => 'Gabon',
1089
+ 'GM' => 'Gambia',
1090
+ 'GE' => 'Georgia',
1091
+ 'DE' => 'Germany',
1092
+ 'GH' => 'Ghana',
1093
+ 'GI' => 'Gibraltar',
1094
+ 'GR' => 'Greece',
1095
+ 'GL' => 'Greenland',
1096
+ 'GD' => 'Grenada',
1097
+ 'GP' => 'Guadeloupe',
1098
+ 'GU' => 'Guam',
1099
+ 'GT' => 'Guatemala',
1100
+ 'GN' => 'Guinea',
1101
+ 'GW' => 'Guinea-bissau',
1102
+ 'GY' => 'Guyana',
1103
+ 'HT' => 'Haiti',
1104
+ 'HM' => 'Heard Island And Mcdonald Islands',
1105
+ 'VA' => 'Holy See (vatican City State)',
1106
+ 'HN' => 'Honduras',
1107
+ 'HK' => 'Hong Kong',
1108
+ 'HU' => 'Hungary',
1109
+ 'IS' => 'Iceland',
1110
+ 'IN' => 'India',
1111
+ 'ID' => 'Indonesia',
1112
+ 'IR' => 'Iran, Islamic Republic Of',
1113
+ 'IQ' => 'Iraq',
1114
+ 'IE' => 'Ireland',
1115
+ 'IL' => 'Israel',
1116
+ 'IT' => 'Italy',
1117
+ 'JM' => 'Jamaica',
1118
+ 'JP' => 'Japan',
1119
+ 'JO' => 'Jordan',
1120
+ 'KZ' => 'Kazakstan',
1121
+ 'KE' => 'Kenya',
1122
+ 'KI' => 'Kiribati',
1123
+ 'KP' => 'Korea, Democratic People\'s Republic Of',
1124
+ 'KR' => 'Korea, Republic Of',
1125
+ 'KV' => 'Kosovo',
1126
+ 'KW' => 'Kuwait',
1127
+ 'KG' => 'Kyrgyzstan',
1128
+ 'LA' => 'Lao People\'s Democratic Republic',
1129
+ 'LV' => 'Latvia',
1130
+ 'LB' => 'Lebanon',
1131
+ 'LS' => 'Lesotho',
1132
+ 'LR' => 'Liberia',
1133
+ 'LY' => 'Libyan Arab Jamahiriya',
1134
+ 'LI' => 'Liechtenstein',
1135
+ 'LT' => 'Lithuania',
1136
+ 'LU' => 'Luxembourg',
1137
+ 'MO' => 'Macau',
1138
+ 'MK' => 'Macedonia, The Former Yugoslav Republic Of',
1139
+ 'MG' => 'Madagascar',
1140
+ 'MW' => 'Malawi',
1141
+ 'MY' => 'Malaysia',
1142
+ 'MV' => 'Maldives',
1143
+ 'ML' => 'Mali',
1144
+ 'MT' => 'Malta',
1145
+ 'MH' => 'Marshall Islands',
1146
+ 'MQ' => 'Martinique',
1147
+ 'MR' => 'Mauritania',
1148
+ 'MU' => 'Mauritius',
1149
+ 'YT' => 'Mayotte',
1150
+ 'MX' => 'Mexico',
1151
+ 'FM' => 'Micronesia, Federated States Of',
1152
+ 'MD' => 'Moldova, Republic Of',
1153
+ 'MC' => 'Monaco',
1154
+ 'MN' => 'Mongolia',
1155
+ 'MS' => 'Montserrat',
1156
+ 'ME' => 'Montenegro',
1157
+ 'MA' => 'Morocco',
1158
+ 'MZ' => 'Mozambique',
1159
+ 'MM' => 'Myanmar',
1160
+ 'NA' => 'Namibia',
1161
+ 'NR' => 'Nauru',
1162
+ 'NP' => 'Nepal',
1163
+ 'NL' => 'Netherlands',
1164
+ 'AN' => 'Netherlands Antilles',
1165
+ 'NC' => 'New Caledonia',
1166
+ 'NZ' => 'New Zealand',
1167
+ 'NI' => 'Nicaragua',
1168
+ 'NE' => 'Niger',
1169
+ 'NG' => 'Nigeria',
1170
+ 'NU' => 'Niue',
1171
+ 'NF' => 'Norfolk Island',
1172
+ 'MP' => 'Northern Mariana Islands',
1173
+ 'NO' => 'Norway',
1174
+ 'OM' => 'Oman',
1175
+ 'PK' => 'Pakistan',
1176
+ 'PW' => 'Palau',
1177
+ 'PS' => 'Palestinian Territory, Occupied',
1178
+ 'PA' => 'Panama',
1179
+ 'PG' => 'Papua New Guinea',
1180
+ 'PY' => 'Paraguay',
1181
+ 'PE' => 'Peru',
1182
+ 'PH' => 'Philippines',
1183
+ 'PN' => 'Pitcairn',
1184
+ 'PL' => 'Poland',
1185
+ 'PT' => 'Portugal',
1186
+ 'PR' => 'Puerto Rico',
1187
+ 'QA' => 'Qatar',
1188
+ 'RE' => 'Reunion',
1189
+ 'RO' => 'Romania',
1190
+ 'RU' => 'Russian Federation',
1191
+ 'RW' => 'Rwanda',
1192
+ 'SH' => 'Saint Helena',
1193
+ 'KN' => 'Saint Kitts And Nevis',
1194
+ 'LC' => 'Saint Lucia',
1195
+ 'PM' => 'Saint Pierre And Miquelon',
1196
+ 'VC' => 'Saint Vincent And The Grenadines',
1197
+ 'WS' => 'Samoa',
1198
+ 'SM' => 'San Marino',
1199
+ 'ST' => 'Sao Tome And Principe',
1200
+ 'SA' => 'Saudi Arabia',
1201
+ 'SN' => 'Senegal',
1202
+ 'RS' => 'Serbia',
1203
+ 'SC' => 'Seychelles',
1204
+ 'SL' => 'Sierra Leone',
1205
+ 'SG' => 'Singapore',
1206
+ 'SK' => 'Slovakia',
1207
+ 'SI' => 'Slovenia',
1208
+ 'SB' => 'Solomon Islands',
1209
+ 'SO' => 'Somalia',
1210
+ 'ZA' => 'South Africa',
1211
+ 'GS' => 'South Georgia And The South Sandwich Islands',
1212
+ 'ES' => 'Spain',
1213
+ 'LK' => 'Sri Lanka',
1214
+ 'SD' => 'Sudan',
1215
+ 'SR' => 'Suriname',
1216
+ 'SJ' => 'Svalbard And Jan Mayen',
1217
+ 'SZ' => 'Swaziland',
1218
+ 'SE' => 'Sweden',
1219
+ 'CH' => 'Switzerland',
1220
+ 'SY' => 'Syrian Arab Republic',
1221
+ 'TW' => 'Taiwan, Province Of China',
1222
+ 'TJ' => 'Tajikistan',
1223
+ 'TZ' => 'Tanzania, United Republic Of',
1224
+ 'TH' => 'Thailand',
1225
+ 'TG' => 'Togo',
1226
+ 'TK' => 'Tokelau',
1227
+ 'TO' => 'Tonga',
1228
+ 'TT' => 'Trinidad And Tobago',
1229
+ 'TN' => 'Tunisia',
1230
+ 'TR' => 'Turkey',
1231
+ 'TM' => 'Turkmenistan',
1232
+ 'TC' => 'Turks And Caicos Islands',
1233
+ 'TV' => 'Tuvalu',
1234
+ 'UG' => 'Uganda',
1235
+ 'UA' => 'Ukraine',
1236
+ 'AE' => 'United Arab Emirates',
1237
+ 'GB' => 'United Kingdom',
1238
+ 'US' => 'United States',
1239
+ 'UM' => 'United States Minor Outlying Islands',
1240
+ 'UY' => 'Uruguay',
1241
+ 'UZ' => 'Uzbekistan',
1242
+ 'VU' => 'Vanuatu',
1243
+ 'VE' => 'Venezuela',
1244
+ 'VN' => 'Viet Nam',
1245
+ 'VG' => 'Virgin Islands, British',
1246
+ 'VI' => 'Virgin Islands, U.s.',
1247
+ 'WF' => 'Wallis And Futuna',
1248
+ 'EH' => 'Western Sahara',
1249
+ 'YE' => 'Yemen',
1250
+ 'ZM' => 'Zambia',
1251
+ 'ZW' => 'Zimbabwe'
1252
+ }.keys
1253
+ end
1254
+
1255
+ def self.name
1256
+ {
1257
+ 'AF' => 'Afghanistan',
1258
+ 'AL' => 'Albania',
1259
+ 'DZ' => 'Algeria',
1260
+ 'AS' => 'American Samoa',
1261
+ 'AD' => 'Andorra',
1262
+ 'AO' => 'Angola',
1263
+ 'AI' => 'Anguilla',
1264
+ 'AQ' => 'Antarctica',
1265
+ 'AG' => 'Antigua And Barbuda',
1266
+ 'AR' => 'Argentina',
1267
+ 'AM' => 'Armenia',
1268
+ 'AW' => 'Aruba',
1269
+ 'AU' => 'Australia',
1270
+ 'AT' => 'Austria',
1271
+ 'AZ' => 'Azerbaijan',
1272
+ 'BS' => 'Bahamas',
1273
+ 'BH' => 'Bahrain',
1274
+ 'BD' => 'Bangladesh',
1275
+ 'BB' => 'Barbados',
1276
+ 'BY' => 'Belarus',
1277
+ 'BE' => 'Belgium',
1278
+ 'BZ' => 'Belize',
1279
+ 'BJ' => 'Benin',
1280
+ 'BM' => 'Bermuda',
1281
+ 'BT' => 'Bhutan',
1282
+ 'BO' => 'Bolivia',
1283
+ 'BA' => 'Bosnia And Herzegovina',
1284
+ 'BW' => 'Botswana',
1285
+ 'BV' => 'Bouvet Island',
1286
+ 'BR' => 'Brazil',
1287
+ 'IO' => 'British Indian Ocean Territory',
1288
+ 'BN' => 'Brunei Darussalam',
1289
+ 'BG' => 'Bulgaria',
1290
+ 'BF' => 'Burkina Faso',
1291
+ 'BI' => 'Burundi',
1292
+ 'KH' => 'Cambodia',
1293
+ 'CM' => 'Cameroon',
1294
+ 'CA' => 'Canada',
1295
+ 'CV' => 'Cape Verde',
1296
+ 'KY' => 'Cayman Islands',
1297
+ 'CF' => 'Central African Republic',
1298
+ 'TD' => 'Chad',
1299
+ 'CL' => 'Chile',
1300
+ 'CN' => 'China',
1301
+ 'CX' => 'Christmas Island',
1302
+ 'CC' => 'Cocos (keeling) Islands',
1303
+ 'CO' => 'Colombia',
1304
+ 'KM' => 'Comoros',
1305
+ 'CG' => 'Congo',
1306
+ 'CD' => 'Congo, The Democratic Republic Of The',
1307
+ 'CK' => 'Cook Islands',
1308
+ 'CR' => 'Costa Rica',
1309
+ 'CI' => 'Cote D\'ivoire',
1310
+ 'HR' => 'Croatia',
1311
+ 'CU' => 'Cuba',
1312
+ 'CY' => 'Cyprus',
1313
+ 'CZ' => 'Czech Republic',
1314
+ 'DK' => 'Denmark',
1315
+ 'DJ' => 'Djibouti',
1316
+ 'DM' => 'Dominica',
1317
+ 'DO' => 'Dominican Republic',
1318
+ 'TP' => 'East Timor',
1319
+ 'EC' => 'Ecuador',
1320
+ 'EG' => 'Egypt',
1321
+ 'SV' => 'El Salvador',
1322
+ 'GQ' => 'Equatorial Guinea',
1323
+ 'ER' => 'Eritrea',
1324
+ 'EE' => 'Estonia',
1325
+ 'ET' => 'Ethiopia',
1326
+ 'FK' => 'Falkland Islands (malvinas)',
1327
+ 'FO' => 'Faroe Islands',
1328
+ 'FJ' => 'Fiji',
1329
+ 'FI' => 'Finland',
1330
+ 'FR' => 'France',
1331
+ 'GF' => 'French Guiana',
1332
+ 'PF' => 'French Polynesia',
1333
+ 'TF' => 'French Southern Territories',
1334
+ 'GA' => 'Gabon',
1335
+ 'GM' => 'Gambia',
1336
+ 'GE' => 'Georgia',
1337
+ 'DE' => 'Germany',
1338
+ 'GH' => 'Ghana',
1339
+ 'GI' => 'Gibraltar',
1340
+ 'GR' => 'Greece',
1341
+ 'GL' => 'Greenland',
1342
+ 'GD' => 'Grenada',
1343
+ 'GP' => 'Guadeloupe',
1344
+ 'GU' => 'Guam',
1345
+ 'GT' => 'Guatemala',
1346
+ 'GN' => 'Guinea',
1347
+ 'GW' => 'Guinea-bissau',
1348
+ 'GY' => 'Guyana',
1349
+ 'HT' => 'Haiti',
1350
+ 'HM' => 'Heard Island And Mcdonald Islands',
1351
+ 'VA' => 'Holy See (vatican City State)',
1352
+ 'HN' => 'Honduras',
1353
+ 'HK' => 'Hong Kong',
1354
+ 'HU' => 'Hungary',
1355
+ 'IS' => 'Iceland',
1356
+ 'IN' => 'India',
1357
+ 'ID' => 'Indonesia',
1358
+ 'IR' => 'Iran, Islamic Republic Of',
1359
+ 'IQ' => 'Iraq',
1360
+ 'IE' => 'Ireland',
1361
+ 'IL' => 'Israel',
1362
+ 'IT' => 'Italy',
1363
+ 'JM' => 'Jamaica',
1364
+ 'JP' => 'Japan',
1365
+ 'JO' => 'Jordan',
1366
+ 'KZ' => 'Kazakstan',
1367
+ 'KE' => 'Kenya',
1368
+ 'KI' => 'Kiribati',
1369
+ 'KP' => 'Korea, Democratic People\'s Republic Of',
1370
+ 'KR' => 'Korea, Republic Of',
1371
+ 'KV' => 'Kosovo',
1372
+ 'KW' => 'Kuwait',
1373
+ 'KG' => 'Kyrgyzstan',
1374
+ 'LA' => 'Lao People\'s Democratic Republic',
1375
+ 'LV' => 'Latvia',
1376
+ 'LB' => 'Lebanon',
1377
+ 'LS' => 'Lesotho',
1378
+ 'LR' => 'Liberia',
1379
+ 'LY' => 'Libyan Arab Jamahiriya',
1380
+ 'LI' => 'Liechtenstein',
1381
+ 'LT' => 'Lithuania',
1382
+ 'LU' => 'Luxembourg',
1383
+ 'MO' => 'Macau',
1384
+ 'MK' => 'Macedonia, The Former Yugoslav Republic Of',
1385
+ 'MG' => 'Madagascar',
1386
+ 'MW' => 'Malawi',
1387
+ 'MY' => 'Malaysia',
1388
+ 'MV' => 'Maldives',
1389
+ 'ML' => 'Mali',
1390
+ 'MT' => 'Malta',
1391
+ 'MH' => 'Marshall Islands',
1392
+ 'MQ' => 'Martinique',
1393
+ 'MR' => 'Mauritania',
1394
+ 'MU' => 'Mauritius',
1395
+ 'YT' => 'Mayotte',
1396
+ 'MX' => 'Mexico',
1397
+ 'FM' => 'Micronesia, Federated States Of',
1398
+ 'MD' => 'Moldova, Republic Of',
1399
+ 'MC' => 'Monaco',
1400
+ 'MN' => 'Mongolia',
1401
+ 'MS' => 'Montserrat',
1402
+ 'ME' => 'Montenegro',
1403
+ 'MA' => 'Morocco',
1404
+ 'MZ' => 'Mozambique',
1405
+ 'MM' => 'Myanmar',
1406
+ 'NA' => 'Namibia',
1407
+ 'NR' => 'Nauru',
1408
+ 'NP' => 'Nepal',
1409
+ 'NL' => 'Netherlands',
1410
+ 'AN' => 'Netherlands Antilles',
1411
+ 'NC' => 'New Caledonia',
1412
+ 'NZ' => 'New Zealand',
1413
+ 'NI' => 'Nicaragua',
1414
+ 'NE' => 'Niger',
1415
+ 'NG' => 'Nigeria',
1416
+ 'NU' => 'Niue',
1417
+ 'NF' => 'Norfolk Island',
1418
+ 'MP' => 'Northern Mariana Islands',
1419
+ 'NO' => 'Norway',
1420
+ 'OM' => 'Oman',
1421
+ 'PK' => 'Pakistan',
1422
+ 'PW' => 'Palau',
1423
+ 'PS' => 'Palestinian Territory, Occupied',
1424
+ 'PA' => 'Panama',
1425
+ 'PG' => 'Papua New Guinea',
1426
+ 'PY' => 'Paraguay',
1427
+ 'PE' => 'Peru',
1428
+ 'PH' => 'Philippines',
1429
+ 'PN' => 'Pitcairn',
1430
+ 'PL' => 'Poland',
1431
+ 'PT' => 'Portugal',
1432
+ 'PR' => 'Puerto Rico',
1433
+ 'QA' => 'Qatar',
1434
+ 'RE' => 'Reunion',
1435
+ 'RO' => 'Romania',
1436
+ 'RU' => 'Russian Federation',
1437
+ 'RW' => 'Rwanda',
1438
+ 'SH' => 'Saint Helena',
1439
+ 'KN' => 'Saint Kitts And Nevis',
1440
+ 'LC' => 'Saint Lucia',
1441
+ 'PM' => 'Saint Pierre And Miquelon',
1442
+ 'VC' => 'Saint Vincent And The Grenadines',
1443
+ 'WS' => 'Samoa',
1444
+ 'SM' => 'San Marino',
1445
+ 'ST' => 'Sao Tome And Principe',
1446
+ 'SA' => 'Saudi Arabia',
1447
+ 'SN' => 'Senegal',
1448
+ 'RS' => 'Serbia',
1449
+ 'SC' => 'Seychelles',
1450
+ 'SL' => 'Sierra Leone',
1451
+ 'SG' => 'Singapore',
1452
+ 'SK' => 'Slovakia',
1453
+ 'SI' => 'Slovenia',
1454
+ 'SB' => 'Solomon Islands',
1455
+ 'SO' => 'Somalia',
1456
+ 'ZA' => 'South Africa',
1457
+ 'GS' => 'South Georgia And The South Sandwich Islands',
1458
+ 'ES' => 'Spain',
1459
+ 'LK' => 'Sri Lanka',
1460
+ 'SD' => 'Sudan',
1461
+ 'SR' => 'Suriname',
1462
+ 'SJ' => 'Svalbard And Jan Mayen',
1463
+ 'SZ' => 'Swaziland',
1464
+ 'SE' => 'Sweden',
1465
+ 'CH' => 'Switzerland',
1466
+ 'SY' => 'Syrian Arab Republic',
1467
+ 'TW' => 'Taiwan, Province Of China',
1468
+ 'TJ' => 'Tajikistan',
1469
+ 'TZ' => 'Tanzania, United Republic Of',
1470
+ 'TH' => 'Thailand',
1471
+ 'TG' => 'Togo',
1472
+ 'TK' => 'Tokelau',
1473
+ 'TO' => 'Tonga',
1474
+ 'TT' => 'Trinidad And Tobago',
1475
+ 'TN' => 'Tunisia',
1476
+ 'TR' => 'Turkey',
1477
+ 'TM' => 'Turkmenistan',
1478
+ 'TC' => 'Turks And Caicos Islands',
1479
+ 'TV' => 'Tuvalu',
1480
+ 'UG' => 'Uganda',
1481
+ 'UA' => 'Ukraine',
1482
+ 'AE' => 'United Arab Emirates',
1483
+ 'GB' => 'United Kingdom',
1484
+ 'US' => 'United States',
1485
+ 'UM' => 'United States Minor Outlying Islands',
1486
+ 'UY' => 'Uruguay',
1487
+ 'UZ' => 'Uzbekistan',
1488
+ 'VU' => 'Vanuatu',
1489
+ 'VE' => 'Venezuela',
1490
+ 'VN' => 'Viet Nam',
1491
+ 'VG' => 'Virgin Islands, British',
1492
+ 'VI' => 'Virgin Islands, U.s.',
1493
+ 'WF' => 'Wallis And Futuna',
1494
+ 'EH' => 'Western Sahara',
1495
+ 'YE' => 'Yemen',
1496
+ 'ZM' => 'Zambia',
1497
+ 'ZW' => 'Zimbabwe'
1498
+ }.values
1499
+ end
1500
+ end
1501
+ end