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 +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/README.md +35 -0
- data/Rakefile +12 -0
- data/carmen-regions.gemspec +26 -0
- data/lib/carmen/regions/version.rb +5 -0
- data/lib/carmen/regions.rb +20 -0
- data/locale/en/world.yml +750 -0
- data/script/import.rb +101 -0
- data/spec/carmen/region_spec.rb +17 -0
- data/spec/spec_helper.rb +3 -0
- metadata +113 -0
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
data/Gemfile
ADDED
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,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,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
|
data/locale/en/world.yml
ADDED
|
@@ -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
|
data/spec/spec_helper.rb
ADDED
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
|