carmen-regions 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ccb27f48418b719386e26ddc191d1ea14230d659
4
+ data.tar.gz: ce096f50e17c441c7b19a6379e030923bb416695
5
+ SHA512:
6
+ metadata.gz: 32573d9f9885be3ce1d84d4227e2133bbab54a5c88c91e15c52768f0d101cf9974c4802f6c5b8e0b2091abb7e96a39fc38016923bbc935963d7a743dc1be9739
7
+ data.tar.gz: 7b72017f13672a9e8be27e6fedda9ebb607027a047b71c564d71c2b671dfb448059342f1cd662717ac862f18e766a225194669e60a1dbb3a8eede294795a2349
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in carmen-continents.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # Carmen Regions
2
+
3
+ Adds two new methods `region` and `sub_region` to the [Carmen](https://github.com/jim/carmen) gem's Country object.
4
+ This will return the Regions associated with the country. Regions are retrieved from the [ISO-3166-Countries-with-Regional-Codes](https://github.com/lukes/ISO-3166-Countries-with-Regional-Codes)
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ gem 'carmen-regions'
11
+
12
+ And then execute:
13
+
14
+ $ bundle
15
+
16
+ Or install it yourself as:
17
+
18
+ $ gem install carmen-regions
19
+
20
+ ## Usage
21
+
22
+ Fetch a Carmen::Country object and call the new region method on it:
23
+ ```ruby
24
+ country = Carmen::Country.coded('us')
25
+ country.region #=> 'Americas'
26
+ country.sub_region #=> 'Northern America'
27
+ ```
28
+
29
+ ## Contributing
30
+
31
+ 1. Fork it ( https://github.com/[my-github-username]/carmen-regions/fork )
32
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
33
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
34
+ 4. Push to the branch (`git push origin my-new-feature`)
35
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ namespace :regions do
4
+ desc 'import regions'
5
+ task :import do
6
+ require File.expand_path("../script/import.rb", __FILE__)
7
+
8
+ importer = WorldDataImporter.new
9
+ importer.perform
10
+ puts "done"
11
+ end
12
+ end
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'carmen/regions/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "carmen-regions"
8
+ spec.version = Carmen::Regions::VERSION
9
+ spec.authors = ["René Kersten"]
10
+ spec.email = ["rene.kersten@gmail.com"]
11
+ spec.description = %q{Add regions to Carmen::Country}
12
+ spec.summary = %q{Add regions to Carmen::Country}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency 'carmen'
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.3"
24
+ spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "rspec"
26
+ end
@@ -0,0 +1,5 @@
1
+ module Carmen
2
+ module Regions
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,20 @@
1
+ require 'carmen'
2
+ require "carmen/regions/version"
3
+
4
+ module Carmen
5
+ locale_path = File.expand_path("../../../locale", __FILE__)
6
+ i18n_backend.append_locale_path(locale_path)
7
+
8
+ class Country
9
+ def region
10
+ Carmen.i18n_backend.translate(path('region'))
11
+ end
12
+
13
+ def sub_region
14
+ Carmen.i18n_backend.translate(path('sub_region'))
15
+ end
16
+ end
17
+
18
+ module Regions
19
+ end
20
+ end
@@ -0,0 +1,750 @@
1
+ ---
2
+ en:
3
+ world:
4
+ ad:
5
+ region: Europe
6
+ sub_region: Southern Europe
7
+ ae:
8
+ region: Asia
9
+ sub_region: Western Asia
10
+ af:
11
+ region: Asia
12
+ sub_region: Southern Asia
13
+ ag:
14
+ region: Americas
15
+ sub_region: Caribbean
16
+ ai:
17
+ region: Americas
18
+ sub_region: Caribbean
19
+ al:
20
+ region: Europe
21
+ sub_region: Southern Europe
22
+ am:
23
+ region: Asia
24
+ sub_region: Western Asia
25
+ ao:
26
+ region: Africa
27
+ sub_region: Middle Africa
28
+ aq:
29
+ region: ''
30
+ sub_region: ''
31
+ ar:
32
+ region: Americas
33
+ sub_region: South America
34
+ as:
35
+ region: Oceania
36
+ sub_region: Polynesia
37
+ at:
38
+ region: Europe
39
+ sub_region: Western Europe
40
+ au:
41
+ region: Oceania
42
+ sub_region: Australia and New Zealand
43
+ aw:
44
+ region: Americas
45
+ sub_region: Caribbean
46
+ ax:
47
+ region: Europe
48
+ sub_region: Northern Europe
49
+ az:
50
+ region: Asia
51
+ sub_region: Western Asia
52
+ ba:
53
+ region: Europe
54
+ sub_region: Southern Europe
55
+ bb:
56
+ region: Americas
57
+ sub_region: Caribbean
58
+ bd:
59
+ region: Asia
60
+ sub_region: Southern Asia
61
+ be:
62
+ region: Europe
63
+ sub_region: Western Europe
64
+ bf:
65
+ region: Africa
66
+ sub_region: Western Africa
67
+ bg:
68
+ region: Europe
69
+ sub_region: Eastern Europe
70
+ bh:
71
+ region: Asia
72
+ sub_region: Western Asia
73
+ bi:
74
+ region: Africa
75
+ sub_region: Eastern Africa
76
+ bj:
77
+ region: Africa
78
+ sub_region: Western Africa
79
+ bl:
80
+ region: Americas
81
+ sub_region: Caribbean
82
+ bm:
83
+ region: Americas
84
+ sub_region: Northern America
85
+ bn:
86
+ region: Asia
87
+ sub_region: South-eastern Asia
88
+ bo:
89
+ region: Americas
90
+ sub_region: South America
91
+ bq:
92
+ region: Americas
93
+ sub_region: Caribbean
94
+ br:
95
+ region: Americas
96
+ sub_region: South America
97
+ bs:
98
+ region: Americas
99
+ sub_region: Caribbean
100
+ bt:
101
+ region: Asia
102
+ sub_region: Southern Asia
103
+ bv:
104
+ region: Americas
105
+ sub_region: South America
106
+ bw:
107
+ region: Africa
108
+ sub_region: Southern Africa
109
+ by:
110
+ region: Europe
111
+ sub_region: Eastern Europe
112
+ bz:
113
+ region: Americas
114
+ sub_region: Central America
115
+ ca:
116
+ region: Americas
117
+ sub_region: Northern America
118
+ cc:
119
+ region: Oceania
120
+ sub_region: Australia and New Zealand
121
+ cd:
122
+ region: Africa
123
+ sub_region: Middle Africa
124
+ cf:
125
+ region: Africa
126
+ sub_region: Middle Africa
127
+ cg:
128
+ region: Africa
129
+ sub_region: Middle Africa
130
+ ch:
131
+ region: Europe
132
+ sub_region: Western Europe
133
+ ci:
134
+ region: Africa
135
+ sub_region: Western Africa
136
+ ck:
137
+ region: Oceania
138
+ sub_region: Polynesia
139
+ cl:
140
+ region: Americas
141
+ sub_region: South America
142
+ cm:
143
+ region: Africa
144
+ sub_region: Middle Africa
145
+ cn:
146
+ region: Asia
147
+ sub_region: Eastern Asia
148
+ co:
149
+ region: Americas
150
+ sub_region: South America
151
+ cr:
152
+ region: Americas
153
+ sub_region: Central America
154
+ cu:
155
+ region: Americas
156
+ sub_region: Caribbean
157
+ cv:
158
+ region: Africa
159
+ sub_region: Western Africa
160
+ cw:
161
+ region: Americas
162
+ sub_region: Caribbean
163
+ cx:
164
+ region: Oceania
165
+ sub_region: Australia and New Zealand
166
+ cy:
167
+ region: Asia
168
+ sub_region: Western Asia
169
+ cz:
170
+ region: Europe
171
+ sub_region: Eastern Europe
172
+ de:
173
+ region: Europe
174
+ sub_region: Western Europe
175
+ dj:
176
+ region: Africa
177
+ sub_region: Eastern Africa
178
+ dk:
179
+ region: Europe
180
+ sub_region: Northern Europe
181
+ dm:
182
+ region: Americas
183
+ sub_region: Caribbean
184
+ do:
185
+ region: Americas
186
+ sub_region: Caribbean
187
+ dz:
188
+ region: Africa
189
+ sub_region: Northern Africa
190
+ ec:
191
+ region: Americas
192
+ sub_region: South America
193
+ ee:
194
+ region: Europe
195
+ sub_region: Northern Europe
196
+ eg:
197
+ region: Africa
198
+ sub_region: Northern Africa
199
+ eh:
200
+ region: Africa
201
+ sub_region: Northern Africa
202
+ er:
203
+ region: Africa
204
+ sub_region: Eastern Africa
205
+ es:
206
+ region: Europe
207
+ sub_region: Southern Europe
208
+ et:
209
+ region: Africa
210
+ sub_region: Eastern Africa
211
+ fi:
212
+ region: Europe
213
+ sub_region: Northern Europe
214
+ fj:
215
+ region: Oceania
216
+ sub_region: Melanesia
217
+ fk:
218
+ region: Americas
219
+ sub_region: South America
220
+ fm:
221
+ region: Oceania
222
+ sub_region: Micronesia
223
+ fo:
224
+ region: Europe
225
+ sub_region: Northern Europe
226
+ fr:
227
+ region: Europe
228
+ sub_region: Western Europe
229
+ ga:
230
+ region: Africa
231
+ sub_region: Middle Africa
232
+ gb:
233
+ region: Europe
234
+ sub_region: Northern Europe
235
+ gd:
236
+ region: Americas
237
+ sub_region: Caribbean
238
+ ge:
239
+ region: Asia
240
+ sub_region: Western Asia
241
+ gf:
242
+ region: Americas
243
+ sub_region: South America
244
+ gg:
245
+ region: Europe
246
+ sub_region: Channel Islands
247
+ gh:
248
+ region: Africa
249
+ sub_region: Western Africa
250
+ gi:
251
+ region: Europe
252
+ sub_region: Southern Europe
253
+ gl:
254
+ region: Americas
255
+ sub_region: Northern America
256
+ gm:
257
+ region: Africa
258
+ sub_region: Western Africa
259
+ gn:
260
+ region: Africa
261
+ sub_region: Western Africa
262
+ gp:
263
+ region: Americas
264
+ sub_region: Caribbean
265
+ gq:
266
+ region: Africa
267
+ sub_region: Middle Africa
268
+ gr:
269
+ region: Europe
270
+ sub_region: Southern Europe
271
+ gs:
272
+ region: Americas
273
+ sub_region: South America
274
+ gt:
275
+ region: Americas
276
+ sub_region: Central America
277
+ gu:
278
+ region: Oceania
279
+ sub_region: Micronesia
280
+ gw:
281
+ region: Africa
282
+ sub_region: Western Africa
283
+ gy:
284
+ region: Americas
285
+ sub_region: South America
286
+ hk:
287
+ region: Asia
288
+ sub_region: Eastern Asia
289
+ hm:
290
+ region: Oceania
291
+ sub_region: Australia and New Zealand
292
+ hn:
293
+ region: Americas
294
+ sub_region: Central America
295
+ hr:
296
+ region: Europe
297
+ sub_region: Southern Europe
298
+ ht:
299
+ region: Americas
300
+ sub_region: Caribbean
301
+ hu:
302
+ region: Europe
303
+ sub_region: Eastern Europe
304
+ id:
305
+ region: Asia
306
+ sub_region: South-eastern Asia
307
+ ie:
308
+ region: Europe
309
+ sub_region: Northern Europe
310
+ il:
311
+ region: Asia
312
+ sub_region: Western Asia
313
+ im:
314
+ region: Europe
315
+ sub_region: Northern Europe
316
+ in:
317
+ region: Asia
318
+ sub_region: Southern Asia
319
+ io:
320
+ region: Africa
321
+ sub_region: Eastern Africa
322
+ iq:
323
+ region: Asia
324
+ sub_region: Western Asia
325
+ ir:
326
+ region: Asia
327
+ sub_region: Southern Asia
328
+ is:
329
+ region: Europe
330
+ sub_region: Northern Europe
331
+ it:
332
+ region: Europe
333
+ sub_region: Southern Europe
334
+ je:
335
+ region: Europe
336
+ sub_region: Channel Islands
337
+ jm:
338
+ region: Americas
339
+ sub_region: Caribbean
340
+ jo:
341
+ region: Asia
342
+ sub_region: Western Asia
343
+ jp:
344
+ region: Asia
345
+ sub_region: Eastern Asia
346
+ ke:
347
+ region: Africa
348
+ sub_region: Eastern Africa
349
+ kg:
350
+ region: Asia
351
+ sub_region: Central Asia
352
+ kh:
353
+ region: Asia
354
+ sub_region: South-eastern Asia
355
+ ki:
356
+ region: Oceania
357
+ sub_region: Micronesia
358
+ km:
359
+ region: Africa
360
+ sub_region: Eastern Africa
361
+ kn:
362
+ region: Americas
363
+ sub_region: Caribbean
364
+ kp:
365
+ region: Asia
366
+ sub_region: Eastern Asia
367
+ kr:
368
+ region: Asia
369
+ sub_region: Eastern Asia
370
+ kw:
371
+ region: Asia
372
+ sub_region: Western Asia
373
+ ky:
374
+ region: Americas
375
+ sub_region: Caribbean
376
+ kz:
377
+ region: Asia
378
+ sub_region: Central Asia
379
+ la:
380
+ region: Asia
381
+ sub_region: South-eastern Asia
382
+ lb:
383
+ region: Asia
384
+ sub_region: Western Asia
385
+ lc:
386
+ region: Americas
387
+ sub_region: Caribbean
388
+ li:
389
+ region: Europe
390
+ sub_region: Western Europe
391
+ lk:
392
+ region: Asia
393
+ sub_region: Southern Asia
394
+ lr:
395
+ region: Africa
396
+ sub_region: Western Africa
397
+ ls:
398
+ region: Africa
399
+ sub_region: Southern Africa
400
+ lt:
401
+ region: Europe
402
+ sub_region: Northern Europe
403
+ lu:
404
+ region: Europe
405
+ sub_region: Western Europe
406
+ lv:
407
+ region: Europe
408
+ sub_region: Northern Europe
409
+ ly:
410
+ region: Africa
411
+ sub_region: Northern Africa
412
+ ma:
413
+ region: Africa
414
+ sub_region: Northern Africa
415
+ mc:
416
+ region: Europe
417
+ sub_region: Western Europe
418
+ md:
419
+ region: Europe
420
+ sub_region: Eastern Europe
421
+ me:
422
+ region: Europe
423
+ sub_region: Southern Europe
424
+ mf:
425
+ region: Americas
426
+ sub_region: Caribbean
427
+ mg:
428
+ region: Africa
429
+ sub_region: Eastern Africa
430
+ mh:
431
+ region: Oceania
432
+ sub_region: Micronesia
433
+ mk:
434
+ region: Europe
435
+ sub_region: Southern Europe
436
+ ml:
437
+ region: Africa
438
+ sub_region: Western Africa
439
+ mm:
440
+ region: Asia
441
+ sub_region: South-eastern Asia
442
+ mn:
443
+ region: Asia
444
+ sub_region: Eastern Asia
445
+ mo:
446
+ region: Asia
447
+ sub_region: Eastern Asia
448
+ mp:
449
+ region: Oceania
450
+ sub_region: Micronesia
451
+ mq:
452
+ region: Americas
453
+ sub_region: Caribbean
454
+ mr:
455
+ region: Africa
456
+ sub_region: Western Africa
457
+ ms:
458
+ region: Americas
459
+ sub_region: Caribbean
460
+ mt:
461
+ region: Europe
462
+ sub_region: Southern Europe
463
+ mu:
464
+ region: Africa
465
+ sub_region: Eastern Africa
466
+ mv:
467
+ region: Asia
468
+ sub_region: Southern Asia
469
+ mw:
470
+ region: Africa
471
+ sub_region: Eastern Africa
472
+ mx:
473
+ region: Americas
474
+ sub_region: Central America
475
+ my:
476
+ region: Asia
477
+ sub_region: South-eastern Asia
478
+ mz:
479
+ region: Africa
480
+ sub_region: Eastern Africa
481
+ na:
482
+ region: Africa
483
+ sub_region: Southern Africa
484
+ nc:
485
+ region: Oceania
486
+ sub_region: Melanesia
487
+ ne:
488
+ region: Africa
489
+ sub_region: Western Africa
490
+ nf:
491
+ region: Oceania
492
+ sub_region: Australia and New Zealand
493
+ ng:
494
+ region: Africa
495
+ sub_region: Western Africa
496
+ ni:
497
+ region: Americas
498
+ sub_region: Central America
499
+ nl:
500
+ region: Europe
501
+ sub_region: Western Europe
502
+ 'no':
503
+ region: Europe
504
+ sub_region: Northern Europe
505
+ np:
506
+ region: Asia
507
+ sub_region: Southern Asia
508
+ nr:
509
+ region: Oceania
510
+ sub_region: Micronesia
511
+ nu:
512
+ region: Oceania
513
+ sub_region: Polynesia
514
+ nz:
515
+ region: Oceania
516
+ sub_region: Australia and New Zealand
517
+ om:
518
+ region: Asia
519
+ sub_region: Western Asia
520
+ pa:
521
+ region: Americas
522
+ sub_region: Central America
523
+ pe:
524
+ region: Americas
525
+ sub_region: South America
526
+ pf:
527
+ region: Oceania
528
+ sub_region: Polynesia
529
+ pg:
530
+ region: Oceania
531
+ sub_region: Melanesia
532
+ ph:
533
+ region: Asia
534
+ sub_region: South-eastern Asia
535
+ pk:
536
+ region: Asia
537
+ sub_region: Southern Asia
538
+ pl:
539
+ region: Europe
540
+ sub_region: Eastern Europe
541
+ pm:
542
+ region: Americas
543
+ sub_region: Northern America
544
+ pn:
545
+ region: Oceania
546
+ sub_region: Polynesia
547
+ pr:
548
+ region: Americas
549
+ sub_region: Caribbean
550
+ ps:
551
+ region: Asia
552
+ sub_region: Western Asia
553
+ pt:
554
+ region: Europe
555
+ sub_region: Southern Europe
556
+ pw:
557
+ region: Oceania
558
+ sub_region: Micronesia
559
+ py:
560
+ region: Americas
561
+ sub_region: South America
562
+ qa:
563
+ region: Asia
564
+ sub_region: Western Asia
565
+ re:
566
+ region: Africa
567
+ sub_region: Eastern Africa
568
+ ro:
569
+ region: Europe
570
+ sub_region: Eastern Europe
571
+ rs:
572
+ region: Europe
573
+ sub_region: Southern Europe
574
+ ru:
575
+ region: Europe
576
+ sub_region: Eastern Europe
577
+ rw:
578
+ region: Africa
579
+ sub_region: Eastern Africa
580
+ sa:
581
+ region: Asia
582
+ sub_region: Western Asia
583
+ sb:
584
+ region: Oceania
585
+ sub_region: Melanesia
586
+ sc:
587
+ region: Africa
588
+ sub_region: Eastern Africa
589
+ sd:
590
+ region: Africa
591
+ sub_region: Northern Africa
592
+ se:
593
+ region: Europe
594
+ sub_region: Northern Europe
595
+ sg:
596
+ region: Asia
597
+ sub_region: South-eastern Asia
598
+ sh:
599
+ region: Africa
600
+ sub_region: Western Africa
601
+ si:
602
+ region: Europe
603
+ sub_region: Southern Europe
604
+ sj:
605
+ region: Europe
606
+ sub_region: Northern Europe
607
+ sk:
608
+ region: Europe
609
+ sub_region: Eastern Europe
610
+ sl:
611
+ region: Africa
612
+ sub_region: Western Africa
613
+ sm:
614
+ region: Europe
615
+ sub_region: Southern Europe
616
+ sn:
617
+ region: Africa
618
+ sub_region: Western Africa
619
+ so:
620
+ region: Africa
621
+ sub_region: Eastern Africa
622
+ sr:
623
+ region: Americas
624
+ sub_region: South America
625
+ ss:
626
+ region: Africa
627
+ sub_region: Eastern Africa
628
+ st:
629
+ region: Africa
630
+ sub_region: Middle Africa
631
+ sv:
632
+ region: Americas
633
+ sub_region: Central America
634
+ sx:
635
+ region: Americas
636
+ sub_region: Caribbean
637
+ sy:
638
+ region: Asia
639
+ sub_region: Western Asia
640
+ sz:
641
+ region: Africa
642
+ sub_region: Southern Africa
643
+ tc:
644
+ region: Americas
645
+ sub_region: Caribbean
646
+ td:
647
+ region: Africa
648
+ sub_region: Middle Africa
649
+ tf:
650
+ region: Africa
651
+ sub_region: Eastern Africa
652
+ tg:
653
+ region: Africa
654
+ sub_region: Western Africa
655
+ th:
656
+ region: Asia
657
+ sub_region: South-eastern Asia
658
+ tj:
659
+ region: Asia
660
+ sub_region: Central Asia
661
+ tk:
662
+ region: Oceania
663
+ sub_region: Polynesia
664
+ tl:
665
+ region: Asia
666
+ sub_region: South-eastern Asia
667
+ tm:
668
+ region: Asia
669
+ sub_region: Central Asia
670
+ tn:
671
+ region: Africa
672
+ sub_region: Northern Africa
673
+ to:
674
+ region: Oceania
675
+ sub_region: Polynesia
676
+ tr:
677
+ region: Asia
678
+ sub_region: Western Asia
679
+ tt:
680
+ region: Americas
681
+ sub_region: Caribbean
682
+ tv:
683
+ region: Oceania
684
+ sub_region: Polynesia
685
+ tw:
686
+ region: Asia
687
+ sub_region: Eastern Asia
688
+ tz:
689
+ region: Africa
690
+ sub_region: Eastern Africa
691
+ ua:
692
+ region: Europe
693
+ sub_region: Eastern Europe
694
+ ug:
695
+ region: Africa
696
+ sub_region: Eastern Africa
697
+ um:
698
+ region: Oceania
699
+ sub_region: Micronesia
700
+ us:
701
+ region: Americas
702
+ sub_region: Northern America
703
+ uy:
704
+ region: Americas
705
+ sub_region: South America
706
+ uz:
707
+ region: Asia
708
+ sub_region: Central Asia
709
+ va:
710
+ region: Europe
711
+ sub_region: Southern Europe
712
+ vc:
713
+ region: Americas
714
+ sub_region: Caribbean
715
+ ve:
716
+ region: Americas
717
+ sub_region: South America
718
+ vg:
719
+ region: Americas
720
+ sub_region: Caribbean
721
+ vi:
722
+ region: Americas
723
+ sub_region: Caribbean
724
+ vn:
725
+ region: Asia
726
+ sub_region: South-eastern Asia
727
+ vu:
728
+ region: Oceania
729
+ sub_region: Melanesia
730
+ wf:
731
+ region: Oceania
732
+ sub_region: Polynesia
733
+ ws:
734
+ region: Oceania
735
+ sub_region: Polynesia
736
+ ye:
737
+ region: Asia
738
+ sub_region: Western Asia
739
+ yt:
740
+ region: Africa
741
+ sub_region: Eastern Africa
742
+ za:
743
+ region: Africa
744
+ sub_region: Southern Africa
745
+ zm:
746
+ region: Africa
747
+ sub_region: Eastern Africa
748
+ zw:
749
+ region: Africa
750
+ sub_region: Eastern Africa
data/script/import.rb ADDED
@@ -0,0 +1,101 @@
1
+ require 'carmen'
2
+ require 'yaml'
3
+ require 'open-uri'
4
+ require 'tempfile'
5
+ require 'csv'
6
+
7
+ class LocalResource
8
+ attr_reader :uri
9
+
10
+ def initialize(uri)
11
+ @uri = uri
12
+ end
13
+
14
+ def file
15
+ @file ||= Tempfile.new(tmp_filename, tmp_folder, encoding: encoding).tap do |f|
16
+ io.rewind
17
+ f.write(io.read)
18
+ f.close
19
+ end
20
+ end
21
+
22
+ def io
23
+ @io ||= open(uri)
24
+ end
25
+
26
+ def encoding
27
+ io.rewind
28
+ io.read.encoding
29
+ end
30
+
31
+ def tmp_filename
32
+ [
33
+ Pathname.new(uri.path).basename.to_s,
34
+ Pathname.new(uri.path).extname
35
+ ]
36
+ end
37
+
38
+ def tmp_folder
39
+ File.expand_path('../../tmp', __FILE__)
40
+ end
41
+ end
42
+
43
+
44
+ class ContinentsData
45
+ def self.fetch(url)
46
+ entries = {}
47
+ local_resource = LocalResource.new(URI.parse(url))
48
+
49
+ CSV.foreach(local_resource.file, headers: true) do |row|
50
+ key = row['alpha-2'].downcase
51
+
52
+ entries[key] = {
53
+ 'region' => row['region'],
54
+ 'sub-region' => row['sub-region'],
55
+ 'intermediate-region' => row['intermediate-region']
56
+ }
57
+ end
58
+
59
+ entries
60
+ end
61
+ end
62
+
63
+
64
+ class WorldDataImporter
65
+ attr_accessor :data, :import_data
66
+
67
+ def initialize
68
+ @import_data = ContinentsData.fetch('https://raw.githubusercontent.com/lukes/ISO-3166-Countries-with-Regional-Codes/master/all/all.csv')
69
+ @data = { 'en' => { 'world' => {} } }
70
+ end
71
+
72
+ def perform
73
+ build_yaml_structure
74
+ write
75
+ end
76
+
77
+ private
78
+
79
+ def build_yaml_structure
80
+ Carmen::Country.all.each do |entry|
81
+ region = ''
82
+ sub_region = ''
83
+ code = entry.alpha_2_code.downcase
84
+ country = import_data[code]
85
+
86
+ unless country.nil?
87
+ region = country['region']
88
+ sub_region = country['intermediate-region'] === '' ? country['sub-region'] : country['intermediate-region']
89
+ end
90
+
91
+ @data['en']['world'][code] ||= {}
92
+ @data['en']['world'][code]['region'] = region
93
+ @data['en']['world'][code]['sub_region'] = sub_region
94
+ end
95
+ end
96
+
97
+ def write
98
+ path = File.expand_path("../../locale/en/world.yml", __FILE__)
99
+ File.open(path, 'w+') { |f| f << @data.to_yaml }
100
+ end
101
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe Carmen::Country do
4
+ describe "basic attributes" do
5
+ before do
6
+ @us = Carmen::Country.coded('us')
7
+ end
8
+
9
+ it "has a region" do
10
+ expect(@us.region).to eq("Americas")
11
+ end
12
+
13
+ it "has a region" do
14
+ expect(@us.sub_region).to eq("Northern America")
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,3 @@
1
+ require 'bundler/setup'
2
+ require 'rspec'
3
+ require 'carmen/regions'
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: carmen-regions
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - René Kersten
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-08-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: carmen
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Add regions to Carmen::Country
70
+ email:
71
+ - rene.kersten@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".gitignore"
77
+ - Gemfile
78
+ - README.md
79
+ - Rakefile
80
+ - carmen-regions.gemspec
81
+ - lib/carmen/regions.rb
82
+ - lib/carmen/regions/version.rb
83
+ - locale/en/world.yml
84
+ - script/import.rb
85
+ - spec/carmen/region_spec.rb
86
+ - spec/spec_helper.rb
87
+ homepage: ''
88
+ licenses:
89
+ - MIT
90
+ metadata: {}
91
+ post_install_message:
92
+ rdoc_options: []
93
+ require_paths:
94
+ - lib
95
+ required_ruby_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ requirements: []
106
+ rubyforge_project:
107
+ rubygems_version: 2.6.13
108
+ signing_key:
109
+ specification_version: 4
110
+ summary: Add regions to Carmen::Country
111
+ test_files:
112
+ - spec/carmen/region_spec.rb
113
+ - spec/spec_helper.rb