carmen-regions 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml 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