countries 4.1.3 → 4.2.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.
Files changed (285) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -1
  3. data/README.markdown +43 -37
  4. data/Rakefile +23 -31
  5. data/lib/countries/cache/countries.json +1 -1
  6. data/lib/countries/cache/locales/nb.json +1 -1
  7. data/lib/countries/cache/locales/nn.json +1 -1
  8. data/lib/countries/configuration.rb +13 -0
  9. data/lib/countries/country/class_methods.rb +19 -6
  10. data/lib/countries/country/currency_methods.rb +4 -1
  11. data/lib/countries/country/emoji.rb +3 -0
  12. data/lib/countries/country.rb +147 -7
  13. data/lib/countries/data/countries/AD.yaml +28 -29
  14. data/lib/countries/data/countries/AE.yaml +32 -33
  15. data/lib/countries/data/countries/AF.yaml +32 -33
  16. data/lib/countries/data/countries/AG.yaml +28 -29
  17. data/lib/countries/data/countries/AI.yaml +27 -28
  18. data/lib/countries/data/countries/AL.yaml +28 -29
  19. data/lib/countries/data/countries/AM.yaml +30 -31
  20. data/lib/countries/data/countries/AO.yaml +25 -26
  21. data/lib/countries/data/countries/AQ.yaml +24 -25
  22. data/lib/countries/data/countries/AR.yaml +30 -31
  23. data/lib/countries/data/countries/AS.yaml +31 -32
  24. data/lib/countries/data/countries/AT.yaml +36 -37
  25. data/lib/countries/data/countries/AU.yaml +33 -34
  26. data/lib/countries/data/countries/AW.yaml +25 -26
  27. data/lib/countries/data/countries/AX.yaml +27 -28
  28. data/lib/countries/data/countries/AZ.yaml +30 -31
  29. data/lib/countries/data/countries/BA.yaml +32 -33
  30. data/lib/countries/data/countries/BB.yaml +28 -29
  31. data/lib/countries/data/countries/BD.yaml +27 -28
  32. data/lib/countries/data/countries/BE.yaml +41 -42
  33. data/lib/countries/data/countries/BF.yaml +27 -28
  34. data/lib/countries/data/countries/BG.yaml +36 -37
  35. data/lib/countries/data/countries/BH.yaml +28 -29
  36. data/lib/countries/data/countries/BI.yaml +27 -28
  37. data/lib/countries/data/countries/BJ.yaml +26 -27
  38. data/lib/countries/data/countries/BL.yaml +25 -26
  39. data/lib/countries/data/countries/BM.yaml +29 -30
  40. data/lib/countries/data/countries/BN.yaml +26 -27
  41. data/lib/countries/data/countries/BO.yaml +31 -32
  42. data/lib/countries/data/countries/BQ.yaml +28 -29
  43. data/lib/countries/data/countries/BR.yaml +35 -36
  44. data/lib/countries/data/countries/BS.yaml +27 -28
  45. data/lib/countries/data/countries/BT.yaml +28 -29
  46. data/lib/countries/data/countries/BV.yaml +23 -24
  47. data/lib/countries/data/countries/BW.yaml +27 -28
  48. data/lib/countries/data/countries/BY.yaml +30 -31
  49. data/lib/countries/data/countries/BZ.yaml +28 -29
  50. data/lib/countries/data/countries/CA.yaml +30 -31
  51. data/lib/countries/data/countries/CC.yaml +28 -29
  52. data/lib/countries/data/countries/CD.yaml +35 -36
  53. data/lib/countries/data/countries/CF.yaml +29 -30
  54. data/lib/countries/data/countries/CG.yaml +29 -30
  55. data/lib/countries/data/countries/CH.yaml +40 -41
  56. data/lib/countries/data/countries/CI.yaml +27 -28
  57. data/lib/countries/data/countries/CK.yaml +27 -28
  58. data/lib/countries/data/countries/CL.yaml +32 -33
  59. data/lib/countries/data/countries/CM.yaml +29 -30
  60. data/lib/countries/data/countries/CN.yaml +28 -29
  61. data/lib/countries/data/countries/CO.yaml +28 -29
  62. data/lib/countries/data/countries/CR.yaml +26 -27
  63. data/lib/countries/data/countries/CU.yaml +27 -28
  64. data/lib/countries/data/countries/CV.yaml +28 -29
  65. data/lib/countries/data/countries/CW.yaml +25 -26
  66. data/lib/countries/data/countries/CX.yaml +30 -31
  67. data/lib/countries/data/countries/CY.yaml +40 -41
  68. data/lib/countries/data/countries/CZ.yaml +38 -39
  69. data/lib/countries/data/countries/DE.yaml +36 -37
  70. data/lib/countries/data/countries/DJ.yaml +29 -30
  71. data/lib/countries/data/countries/DK.yaml +35 -36
  72. data/lib/countries/data/countries/DM.yaml +26 -27
  73. data/lib/countries/data/countries/DO.yaml +28 -29
  74. data/lib/countries/data/countries/DZ.yaml +28 -29
  75. data/lib/countries/data/countries/EC.yaml +28 -29
  76. data/lib/countries/data/countries/EE.yaml +35 -36
  77. data/lib/countries/data/countries/EG.yaml +28 -29
  78. data/lib/countries/data/countries/EH.yaml +30 -31
  79. data/lib/countries/data/countries/ER.yaml +31 -32
  80. data/lib/countries/data/countries/ES.yaml +36 -37
  81. data/lib/countries/data/countries/ET.yaml +28 -29
  82. data/lib/countries/data/countries/FI.yaml +38 -39
  83. data/lib/countries/data/countries/FJ.yaml +33 -34
  84. data/lib/countries/data/countries/FK.yaml +29 -30
  85. data/lib/countries/data/countries/FM.yaml +28 -29
  86. data/lib/countries/data/countries/FO.yaml +28 -29
  87. data/lib/countries/data/countries/FR.yaml +37 -38
  88. data/lib/countries/data/countries/GA.yaml +27 -28
  89. data/lib/countries/data/countries/GB.yaml +39 -38
  90. data/lib/countries/data/countries/GD.yaml +26 -27
  91. data/lib/countries/data/countries/GE.yaml +28 -29
  92. data/lib/countries/data/countries/GF.yaml +29 -30
  93. data/lib/countries/data/countries/GG.yaml +30 -31
  94. data/lib/countries/data/countries/GH.yaml +27 -28
  95. data/lib/countries/data/countries/GI.yaml +26 -27
  96. data/lib/countries/data/countries/GL.yaml +29 -30
  97. data/lib/countries/data/countries/GM.yaml +25 -26
  98. data/lib/countries/data/countries/GN.yaml +30 -31
  99. data/lib/countries/data/countries/GP.yaml +27 -28
  100. data/lib/countries/data/countries/GQ.yaml +29 -30
  101. data/lib/countries/data/countries/GR.yaml +37 -38
  102. data/lib/countries/data/countries/GS.yaml +27 -28
  103. data/lib/countries/data/countries/GT.yaml +26 -27
  104. data/lib/countries/data/countries/GU.yaml +31 -32
  105. data/lib/countries/data/countries/GW.yaml +28 -29
  106. data/lib/countries/data/countries/GY.yaml +26 -27
  107. data/lib/countries/data/countries/HK.yaml +28 -29
  108. data/lib/countries/data/countries/HM.yaml +27 -28
  109. data/lib/countries/data/countries/HN.yaml +27 -28
  110. data/lib/countries/data/countries/HR.yaml +37 -38
  111. data/lib/countries/data/countries/HT.yaml +29 -30
  112. data/lib/countries/data/countries/HU.yaml +37 -38
  113. data/lib/countries/data/countries/ID.yaml +28 -29
  114. data/lib/countries/data/countries/IE.yaml +39 -40
  115. data/lib/countries/data/countries/IL.yaml +35 -31
  116. data/lib/countries/data/countries/IM.yaml +29 -30
  117. data/lib/countries/data/countries/IN.yaml +30 -31
  118. data/lib/countries/data/countries/IO.yaml +26 -27
  119. data/lib/countries/data/countries/IQ.yaml +28 -29
  120. data/lib/countries/data/countries/IR.yaml +28 -29
  121. data/lib/countries/data/countries/IS.yaml +35 -36
  122. data/lib/countries/data/countries/IT.yaml +36 -37
  123. data/lib/countries/data/countries/JE.yaml +26 -27
  124. data/lib/countries/data/countries/JM.yaml +28 -29
  125. data/lib/countries/data/countries/JO.yaml +28 -29
  126. data/lib/countries/data/countries/JP.yaml +28 -29
  127. data/lib/countries/data/countries/KE.yaml +29 -30
  128. data/lib/countries/data/countries/KG.yaml +30 -31
  129. data/lib/countries/data/countries/KH.yaml +28 -29
  130. data/lib/countries/data/countries/KI.yaml +25 -26
  131. data/lib/countries/data/countries/KM.yaml +29 -30
  132. data/lib/countries/data/countries/KN.yaml +29 -29
  133. data/lib/countries/data/countries/KP.yaml +27 -28
  134. data/lib/countries/data/countries/KR.yaml +28 -29
  135. data/lib/countries/data/countries/KW.yaml +28 -29
  136. data/lib/countries/data/countries/KY.yaml +29 -30
  137. data/lib/countries/data/countries/KZ.yaml +30 -31
  138. data/lib/countries/data/countries/LA.yaml +27 -28
  139. data/lib/countries/data/countries/LB.yaml +30 -31
  140. data/lib/countries/data/countries/LC.yaml +28 -29
  141. data/lib/countries/data/countries/LI.yaml +27 -28
  142. data/lib/countries/data/countries/LK.yaml +28 -29
  143. data/lib/countries/data/countries/LR.yaml +28 -29
  144. data/lib/countries/data/countries/LS.yaml +28 -29
  145. data/lib/countries/data/countries/LT.yaml +37 -38
  146. data/lib/countries/data/countries/LU.yaml +39 -40
  147. data/lib/countries/data/countries/LV.yaml +36 -37
  148. data/lib/countries/data/countries/LY.yaml +27 -28
  149. data/lib/countries/data/countries/MA.yaml +28 -29
  150. data/lib/countries/data/countries/MC.yaml +28 -29
  151. data/lib/countries/data/countries/MD.yaml +28 -29
  152. data/lib/countries/data/countries/ME.yaml +33 -34
  153. data/lib/countries/data/countries/MF.yaml +29 -30
  154. data/lib/countries/data/countries/MG.yaml +30 -31
  155. data/lib/countries/data/countries/MH.yaml +30 -31
  156. data/lib/countries/data/countries/MK.yaml +28 -29
  157. data/lib/countries/data/countries/ML.yaml +25 -26
  158. data/lib/countries/data/countries/MM.yaml +27 -28
  159. data/lib/countries/data/countries/MN.yaml +28 -29
  160. data/lib/countries/data/countries/MO.yaml +28 -29
  161. data/lib/countries/data/countries/MP.yaml +31 -32
  162. data/lib/countries/data/countries/MQ.yaml +27 -28
  163. data/lib/countries/data/countries/MR.yaml +29 -30
  164. data/lib/countries/data/countries/MS.yaml +26 -27
  165. data/lib/countries/data/countries/MT.yaml +36 -37
  166. data/lib/countries/data/countries/MU.yaml +28 -29
  167. data/lib/countries/data/countries/MV.yaml +28 -29
  168. data/lib/countries/data/countries/MW.yaml +27 -28
  169. data/lib/countries/data/countries/MX.yaml +33 -34
  170. data/lib/countries/data/countries/MY.yaml +30 -31
  171. data/lib/countries/data/countries/MZ.yaml +28 -29
  172. data/lib/countries/data/countries/NA.yaml +30 -31
  173. data/lib/countries/data/countries/NC.yaml +29 -30
  174. data/lib/countries/data/countries/NE.yaml +27 -28
  175. data/lib/countries/data/countries/NF.yaml +29 -30
  176. data/lib/countries/data/countries/NG.yaml +33 -34
  177. data/lib/countries/data/countries/NI.yaml +26 -27
  178. data/lib/countries/data/countries/NL.yaml +36 -37
  179. data/lib/countries/data/countries/NO.yaml +36 -37
  180. data/lib/countries/data/countries/NP.yaml +32 -33
  181. data/lib/countries/data/countries/NR.yaml +27 -28
  182. data/lib/countries/data/countries/NU.yaml +25 -26
  183. data/lib/countries/data/countries/NZ.yaml +34 -35
  184. data/lib/countries/data/countries/OM.yaml +28 -29
  185. data/lib/countries/data/countries/PA.yaml +26 -27
  186. data/lib/countries/data/countries/PE.yaml +28 -29
  187. data/lib/countries/data/countries/PF.yaml +29 -30
  188. data/lib/countries/data/countries/PG.yaml +28 -29
  189. data/lib/countries/data/countries/PH.yaml +35 -36
  190. data/lib/countries/data/countries/PK.yaml +30 -31
  191. data/lib/countries/data/countries/PL.yaml +36 -37
  192. data/lib/countries/data/countries/PM.yaml +29 -30
  193. data/lib/countries/data/countries/PN.yaml +27 -28
  194. data/lib/countries/data/countries/PR.yaml +28 -29
  195. data/lib/countries/data/countries/PS.yaml +31 -32
  196. data/lib/countries/data/countries/PT.yaml +33 -34
  197. data/lib/countries/data/countries/PW.yaml +26 -27
  198. data/lib/countries/data/countries/PY.yaml +28 -29
  199. data/lib/countries/data/countries/QA.yaml +27 -28
  200. data/lib/countries/data/countries/RE.yaml +28 -29
  201. data/lib/countries/data/countries/RO.yaml +37 -38
  202. data/lib/countries/data/countries/RS.yaml +28 -29
  203. data/lib/countries/data/countries/RU.yaml +28 -29
  204. data/lib/countries/data/countries/RW.yaml +31 -32
  205. data/lib/countries/data/countries/SA.yaml +33 -29
  206. data/lib/countries/data/countries/SB.yaml +27 -28
  207. data/lib/countries/data/countries/SC.yaml +28 -29
  208. data/lib/countries/data/countries/SD.yaml +30 -31
  209. data/lib/countries/data/countries/SE.yaml +37 -38
  210. data/lib/countries/data/countries/SG.yaml +32 -33
  211. data/lib/countries/data/countries/SH.yaml +29 -30
  212. data/lib/countries/data/countries/SI.yaml +36 -37
  213. data/lib/countries/data/countries/SJ.yaml +29 -30
  214. data/lib/countries/data/countries/SK.yaml +36 -37
  215. data/lib/countries/data/countries/SL.yaml +25 -26
  216. data/lib/countries/data/countries/SM.yaml +28 -29
  217. data/lib/countries/data/countries/SN.yaml +27 -28
  218. data/lib/countries/data/countries/SO.yaml +30 -31
  219. data/lib/countries/data/countries/SR.yaml +26 -27
  220. data/lib/countries/data/countries/SS.yaml +29 -30
  221. data/lib/countries/data/countries/ST.yaml +27 -28
  222. data/lib/countries/data/countries/SV.yaml +27 -28
  223. data/lib/countries/data/countries/SX.yaml +28 -29
  224. data/lib/countries/data/countries/SY.yaml +27 -28
  225. data/lib/countries/data/countries/SZ.yaml +30 -31
  226. data/lib/countries/data/countries/TC.yaml +30 -31
  227. data/lib/countries/data/countries/TD.yaml +29 -30
  228. data/lib/countries/data/countries/TF.yaml +28 -29
  229. data/lib/countries/data/countries/TG.yaml +25 -26
  230. data/lib/countries/data/countries/TH.yaml +34 -35
  231. data/lib/countries/data/countries/TJ.yaml +30 -31
  232. data/lib/countries/data/countries/TK.yaml +27 -28
  233. data/lib/countries/data/countries/TL.yaml +27 -28
  234. data/lib/countries/data/countries/TM.yaml +30 -31
  235. data/lib/countries/data/countries/TN.yaml +30 -31
  236. data/lib/countries/data/countries/TO.yaml +29 -30
  237. data/lib/countries/data/countries/TR.yaml +28 -29
  238. data/lib/countries/data/countries/TT.yaml +28 -29
  239. data/lib/countries/data/countries/TV.yaml +25 -26
  240. data/lib/countries/data/countries/TW.yaml +28 -29
  241. data/lib/countries/data/countries/TZ.yaml +30 -31
  242. data/lib/countries/data/countries/UA.yaml +34 -35
  243. data/lib/countries/data/countries/UG.yaml +28 -29
  244. data/lib/countries/data/countries/UM.yaml +29 -30
  245. data/lib/countries/data/countries/US.yaml +29 -29
  246. data/lib/countries/data/countries/UY.yaml +27 -28
  247. data/lib/countries/data/countries/UZ.yaml +30 -31
  248. data/lib/countries/data/countries/VA.yaml +31 -32
  249. data/lib/countries/data/countries/VC.yaml +29 -30
  250. data/lib/countries/data/countries/VE.yaml +26 -27
  251. data/lib/countries/data/countries/VG.yaml +29 -30
  252. data/lib/countries/data/countries/VI.yaml +28 -29
  253. data/lib/countries/data/countries/VN.yaml +28 -29
  254. data/lib/countries/data/countries/VU.yaml +31 -32
  255. data/lib/countries/data/countries/WF.yaml +29 -30
  256. data/lib/countries/data/countries/WS.yaml +28 -29
  257. data/lib/countries/data/countries/YE.yaml +27 -28
  258. data/lib/countries/data/countries/YT.yaml +26 -27
  259. data/lib/countries/data/countries/ZA.yaml +39 -40
  260. data/lib/countries/data/countries/ZM.yaml +28 -29
  261. data/lib/countries/data/countries/ZW.yaml +31 -32
  262. data/lib/countries/data/subdivisions/CZ.yaml +115 -50
  263. data/lib/countries/data/subdivisions/KE.yaml +391 -503
  264. data/lib/countries/data/subdivisions/MK.yaml +3501 -5809
  265. data/lib/countries/data/subdivisions/SG.yaml +39 -109
  266. data/lib/countries/data/subdivisions/US.yaml +0 -42
  267. data/lib/countries/data/translation_corrections.yaml +20 -14
  268. data/lib/countries/data.rb +5 -1
  269. data/lib/countries/global.rb +13 -3
  270. data/lib/countries/mongoid.rb +3 -0
  271. data/lib/countries/sources/cldr/downloader.rb +3 -0
  272. data/lib/countries/sources/cldr/subdivision.rb +1 -0
  273. data/lib/countries/sources/cldr/subdivision_updater.rb +1 -0
  274. data/lib/countries/sources/local/cached_loader.rb +2 -0
  275. data/lib/countries/sources/local/subdivision.rb +1 -0
  276. data/lib/countries/structure.rb +2 -5
  277. data/lib/countries/tasks/geocoding.rake +1 -1
  278. data/lib/countries/timezones.rb +4 -2
  279. data/lib/countries/translations.rb +2 -3
  280. data/lib/countries/version.rb +1 -1
  281. data/spec/country_spec.rb +60 -56
  282. data/spec/data_spec.rb +9 -9
  283. metadata +3 -5
  284. data/lib/countries/data/subdivisions/FO.yaml +0 -85
  285. data/lib/countries/data/subdivisions/KY.yaml +0 -85
@@ -11,7 +11,17 @@ SG-01:
11
11
  max_latitude: 1.3948174
12
12
  max_longitude: 103.86428
13
13
  translations:
14
+ de: Central Singapore District
14
15
  en: Central Singapore
16
+ es: Consejo Central (Singapur)
17
+ ja: シンガポール中央地区
18
+ ko: 중앙싱가포르 지구 사회 발전 이사회
19
+ ur: مرکزی سنگاپور کمیونٹی ڈیولپمنٹ کونسل
20
+ ceb: Central Singapore Community Development Council
21
+ zh: 中区社区发展理事会
22
+ ccp: "\U00011125\U0001112C\U0001111A\U00011134\U00011111\U00011133\U00011122\U00011123\U00011134
23
+ \U00011125\U00011128\U00011101\U00011109\U0001111B\U0001112A\U00011122\U00011134"
24
+ fr: Singapour central
15
25
  comments:
16
26
  SG-02:
17
27
  name: North East
@@ -26,6 +36,17 @@ SG-02:
26
36
  max_longitude: 104.0884808
27
37
  translations:
28
38
  en: North East
39
+ es: Consejo del Noreste (Singapur)
40
+ it: Distretto Nordorientale
41
+ ja: 北東地区 (シンガポール)
42
+ ko: 북동부 지구 사회 발전 이사회
43
+ nl: North East Community Development Council
44
+ ceb: North East Community Development Region
45
+ ur: شمال مشرقی کمیونٹی ڈیولپمنٹ کونسل
46
+ zh: 东北社区发展理事会
47
+ ccp: "\U00011105\U0001112A\U00011116\U00011133\U00011126\U00011127\U00011122\U00011134
48
+ \U0001111B\U0001112A\U00011107\U00011134"
49
+ fr: District du Nord-Est
29
50
  comments:
30
51
  SG-03:
31
52
  name: North West
@@ -40,6 +61,15 @@ SG-03:
40
61
  max_longitude:
41
62
  translations:
42
63
  en: North West
64
+ es: Consejo del Noroeste (Singapur)
65
+ ja: 北西地区 (シンガポール)
66
+ ko: 북서부 지구 사회 발전 이사회
67
+ ceb: North West Community Development Council
68
+ ur: شمال مغربی کمیونٹی ڈیولپمنٹ کونسل
69
+ zh: 西北社区发展理事会
70
+ ccp: "\U00011105\U0001112A\U00011116\U00011133\U00011126\U00011127\U00011122\U00011134
71
+ \U0001111B\U00011127\U0001110F\U00011128\U0001111F\U00011134"
72
+ fr: District du Nord-Ouest
43
73
  comments:
44
74
  SG-04:
45
75
  name: South East
@@ -52,58 +82,6 @@ SG-04:
52
82
  min_longitude: 103.6055448
53
83
  max_latitude: 1.4707592
54
84
  max_longitude: 104.0884808
55
- translations:
56
- en: South East
57
- comments:
58
- SG-05:
59
- name: South West
60
- code:
61
- unofficial_names: South West
62
- geo:
63
- latitude: 1.352083
64
- longitude: 103.819836
65
- min_latitude: 1.1587023
66
- min_longitude: 103.6055448
67
- max_latitude: 1.4707592
68
- max_longitude: 104.0884808
69
- translations:
70
- en: South West
71
- comments:
72
- '01':
73
- name:
74
- code:
75
- unofficial_names:
76
- geo:
77
- latitude:
78
- longitude:
79
- min_latitude:
80
- min_longitude:
81
- max_latitude:
82
- max_longitude:
83
- translations:
84
- de: Central Singapore District
85
- en: Central Singapore
86
- es: Consejo Central (Singapur)
87
- ja: シンガポール中央地区
88
- ko: 중앙싱가포르 지구 사회 발전 이사회
89
- ur: مرکزی سنگاپور کمیونٹی ڈیولپمنٹ کونسل
90
- ceb: Central Singapore Community Development Council
91
- zh: 中区社区发展理事会
92
- ccp: "\U00011125\U0001112C\U0001111A\U00011134\U00011111\U00011133\U00011122\U00011123\U00011134
93
- \U00011125\U00011128\U00011101\U00011109\U0001111B\U0001112A\U00011122\U00011134"
94
- fr: Singapour central
95
- comments:
96
- '04':
97
- name:
98
- code:
99
- unofficial_names:
100
- geo:
101
- latitude:
102
- longitude:
103
- min_latitude:
104
- min_longitude:
105
- max_latitude:
106
- max_longitude:
107
85
  translations:
108
86
  de: Südost
109
87
  en: South East
@@ -116,17 +94,17 @@ SG-05:
116
94
  ccp: "\U00011118\U00011127\U0001110A\U00011128\U0001111A\U00011134 \U0001111B\U0001112A\U00011107\U00011134"
117
95
  fr: District du Sud-Est
118
96
  comments:
119
- '05':
120
- name:
97
+ SG-05:
98
+ name: South West
121
99
  code:
122
- unofficial_names:
100
+ unofficial_names: South West
123
101
  geo:
124
- latitude:
125
- longitude:
126
- min_latitude:
127
- min_longitude:
128
- max_latitude:
129
- max_longitude:
102
+ latitude: 1.352083
103
+ longitude: 103.819836
104
+ min_latitude: 1.1587023
105
+ min_longitude: 103.6055448
106
+ max_latitude: 1.4707592
107
+ max_longitude: 104.0884808
130
108
  translations:
131
109
  de: South West Singapore District
132
110
  en: South West
@@ -139,51 +117,3 @@ SG-05:
139
117
  ccp: "\U00011118\U00011127\U0001110A\U00011128\U0001111A\U00011134 \U0001111B\U00011127\U0001110F\U00011128\U0001111F\U00011134"
140
118
  fr: District du Sud-Ouest
141
119
  comments:
142
- '02':
143
- name:
144
- code:
145
- unofficial_names:
146
- geo:
147
- latitude:
148
- longitude:
149
- min_latitude:
150
- min_longitude:
151
- max_latitude:
152
- max_longitude:
153
- translations:
154
- en: North East
155
- es: Consejo del Noreste (Singapur)
156
- it: Distretto Nordorientale
157
- ja: 北東地区 (シンガポール)
158
- ko: 북동부 지구 사회 발전 이사회
159
- nl: North East Community Development Council
160
- ceb: North East Community Development Region
161
- ur: شمال مشرقی کمیونٹی ڈیولپمنٹ کونسل
162
- zh: 东北社区发展理事会
163
- ccp: "\U00011105\U0001112A\U00011116\U00011133\U00011126\U00011127\U00011122\U00011134
164
- \U0001111B\U0001112A\U00011107\U00011134"
165
- fr: District du Nord-Est
166
- comments:
167
- '03':
168
- name:
169
- code:
170
- unofficial_names:
171
- geo:
172
- latitude:
173
- longitude:
174
- min_latitude:
175
- min_longitude:
176
- max_latitude:
177
- max_longitude:
178
- translations:
179
- en: North West
180
- es: Consejo del Noroeste (Singapur)
181
- ja: 北西地区 (シンガポール)
182
- ko: 북서부 지구 사회 발전 이사회
183
- ceb: North West Community Development Council
184
- ur: شمال مغربی کمیونٹی ڈیولپمنٹ کونسل
185
- zh: 西北社区发展理事会
186
- ccp: "\U00011105\U0001112A\U00011116\U00011133\U00011126\U00011127\U00011122\U00011134
187
- \U0001111B\U00011127\U0001110F\U00011128\U0001111F\U00011134"
188
- fr: District du Nord-Ouest
189
- comments:
@@ -1,32 +1,4 @@
1
1
  ---
2
- AA:
3
- name: Armed Forces Americas
4
- code:
5
- unofficial_names: Armed Forces Americas
6
- geo:
7
- latitude: 33.8934985
8
- longitude: -117.2732567
9
- min_latitude: 33.8403275
10
- min_longitude: -117.2985014
11
- max_latitude: 33.9460679
12
- max_longitude: -117.2498013
13
- translations:
14
- en: Armed Forces Americas
15
- comments:
16
- AE:
17
- name: Armed Forces Europe
18
- code:
19
- unofficial_names: Armed Forces Europe
20
- geo:
21
- latitude: 59.90441850000001
22
- longitude: 10.7408094
23
- min_latitude:
24
- min_longitude:
25
- max_latitude:
26
- max_longitude:
27
- translations:
28
- en: Armed Forces Europe
29
- comments:
30
2
  AK:
31
3
  name: Alaska
32
4
  code:
@@ -223,20 +195,6 @@ AL:
223
195
  ha_NE: Alabama
224
196
  'no': Alabama
225
197
  comments:
226
- AP:
227
- name: Armed Forces Pacific
228
- code:
229
- unofficial_names: Armed Forces Pacific
230
- geo:
231
- latitude:
232
- longitude:
233
- min_latitude:
234
- min_longitude:
235
- max_latitude:
236
- max_longitude:
237
- translations:
238
- en: Armed Forces Pacific
239
- comments:
240
198
  AR:
241
199
  name: Arkansas
242
200
  code:
@@ -10,10 +10,6 @@
10
10
  # alpha2: localized_name
11
11
  #
12
12
  ---
13
- oc:
14
- US: Estats Units
15
- UM: Islas perifericas Menores dels Estats Units
16
- MK: Macedònia del Nòrd
17
13
  ar:
18
14
  PS: "فلسطين"
19
15
  SA: "السعودية"
@@ -23,23 +19,33 @@ ar:
23
19
  SY: "سوريا"
24
20
  BQ: "بونير، سينت أوستاتيوس وسابا"
25
21
  CW: "كوراساو"
26
- nn:
27
- PT: Portugal
28
- zh:
29
- KH: '柬埔寨'
30
- zh_cn:
31
- KH: '柬埔寨'
22
+ da:
23
+ CZ: 'Tjekkiet'
32
24
  fa:
33
25
  IR: "ایران"
34
26
  he:
35
27
  PS: "פלסטין, מדינת"
36
28
  VI: "איי הבתולה (ארה)"
29
+ jp:
30
+ ES: スペイン
37
31
  mk:
38
32
  MK: "Северна Македонија"
33
+ nn:
34
+ PT: Portugal
35
+ oc:
36
+ US: Estats Units
37
+ UM: Islas perifericas Menores dels Estats Units
38
+ MK: Macedònia del Nòrd
39
+ pt:
40
+ CZ: 'República Checa'
39
41
  sv:
40
42
  GB: "Storbritannien"
41
43
  RU: "Ryssland"
42
- pt:
43
- CZ: 'República Checa'
44
- da:
45
- CZ: 'Tjekkiet'
44
+ zh:
45
+ KH: '柬埔寨'
46
+ zh_cn:
47
+ KH: '柬埔寨'
48
+ nb:
49
+ US: USA
50
+ nn:
51
+ US: USA
@@ -1,5 +1,4 @@
1
1
  module ISO3166
2
- ##
3
2
  # Handles building the in memory store of countries data
4
3
  class Data
5
4
  @@cache_dir = [File.dirname(__FILE__), 'cache']
@@ -24,6 +23,9 @@ module ISO3166
24
23
  @@cache_dir = value
25
24
  end
26
25
 
26
+ # Registers a new Country with custom data.
27
+ # If you are overriding an existing country, this does not perform a deep merge so you will need to __bring in all data you wish to be available__.
28
+ # Overriding an existing country will also remove it from the internal management of translations.
27
29
  def register(data)
28
30
  alpha2 = data[:alpha2].upcase
29
31
  @@registered_data[alpha2] = deep_stringify_keys(data)
@@ -32,6 +34,7 @@ module ISO3166
32
34
  @@cache = cache.merge(@@registered_data)
33
35
  end
34
36
 
37
+ # Removes a country from the loaded data
35
38
  def unregister(alpha2)
36
39
  alpha2 = alpha2.to_s.upcase
37
40
  @@cache.delete(alpha2)
@@ -42,6 +45,7 @@ module ISO3166
42
45
  update_cache
43
46
  end
44
47
 
48
+ # Resets the loaded data and cache
45
49
  def reset
46
50
  @@cache = {}
47
51
  @@registered_data = {}
@@ -1,7 +1,17 @@
1
1
  require 'countries'
2
2
 
3
+ # Some apps might not want to constantly call +ISO3166::Country+. This gem has a helper that can provide a Country class
4
+ #
5
+ # With global Country Helper enabled
6
+ #
7
+ # c = Country['US']
8
+ #
9
+ # This will conflict with any existing Country constant
10
+ #
11
+ # To Use
12
+ #
13
+ # gem 'countries', require: 'countries/global'
14
+ #
3
15
  class Country < ISO3166::Country
4
- def to_s
5
- name
6
- end
16
+
7
17
  end
@@ -5,6 +5,7 @@ module ISO3166
5
5
  end
6
6
 
7
7
  class << self
8
+ # Convert an +ISO3166::Country+ to the data that is stored by Mongoid.
8
9
  def mongoize(country)
9
10
  if country.is_a?(self) && !country.data.nil?
10
11
  country.alpha2
@@ -13,10 +14,12 @@ module ISO3166
13
14
  end
14
15
  end
15
16
 
17
+ # Get the object as it was stored with Mongoid, and instantiate an +ISO3166::Country+.
16
18
  def demongoize(alpha2)
17
19
  new(alpha2)
18
20
  end
19
21
 
22
+ # Convert an +ISO3166::Country+ to the data that is stored by Mongoid.
20
23
  def evolve(country)
21
24
  mongoize(country)
22
25
  end
@@ -4,8 +4,11 @@ require 'nokogiri'
4
4
  require 'fileutils'
5
5
  require 'json'
6
6
 
7
+ # Support code to allow updating subdivision data from the Unicode CLDR repository
7
8
  module Sources
9
+ # Support code to allow updating subdivision data from the Unicode CLDR repository
8
10
  module CLDR
11
+ # Downloads data from the Unicode CLDR repository
9
12
  module Downloader
10
13
  module_function
11
14
 
@@ -1,5 +1,6 @@
1
1
  module Sources
2
2
  module CLDR
3
+ # Auxiliary Subdivision class to support loading Unicode CLDR data to update local files
3
4
  class Subdivision
4
5
  attr_reader :xml, :language_code
5
6
  def initialize(language_code:, xml:)
@@ -5,6 +5,7 @@ require 'pry'
5
5
 
6
6
  module Sources
7
7
  module CLDR
8
+ # Updates local subdivision files with data from the Unicode CLDR repository
8
9
  class SubdivisionUpdater
9
10
  def call
10
11
  d = Dir['./tmp/cldr/trunk/common/subdivisions/*.xml']
@@ -1,5 +1,7 @@
1
1
  module Sources
2
+ # Support code to allow updating subdivision data from the Unicode CLDR repository
2
3
  module Local
4
+ # Loader for locally-cached data, to allow merging Unicode CLDR data with existing local data
3
5
  class CachedLoader
4
6
  attr_reader :klass
5
7
  def initialize(klass)
@@ -1,5 +1,6 @@
1
1
  module Sources
2
2
  module Local
3
+ # Auxiliary Subdivision class to support loading the local subdivision data to be updated with Unicode CLDR data
3
4
  class Subdivision
4
5
  attr_reader :code
5
6
  def initialize(code)
@@ -11,9 +11,7 @@ module ISO3166
11
11
  'gec' => nil,
12
12
  'geo' => {
13
13
  'latitude' => nil,
14
- 'latitude_dec' => nil,
15
14
  'longitude' => nil,
16
- 'longitude_dec' => nil,
17
15
  'max_latitude' => nil,
18
16
  'max_longitude' => nil,
19
17
  'min_latitude' => nil,
@@ -31,7 +29,8 @@ module ISO3166
31
29
  },
32
30
  'international_prefix' => nil,
33
31
  'ioc' => nil,
34
- 'name' => nil,
32
+ 'iso_long_name' => nil,
33
+ 'iso_short_name' => nil,
35
34
  'national_destination_code_lengths' => [],
36
35
  'national_number_lengths' => [],
37
36
  'national_prefix' => nil,
@@ -63,9 +62,7 @@ module ISO3166
63
62
  'translations' => {},
64
63
  'geo' => {
65
64
  'latitude' => nil,
66
- 'latitude_dec' => nil,
67
65
  'longitude' => nil,
68
- 'longitude_dec' => nil,
69
66
  'max_latitude' => nil,
70
67
  'max_longitude' => nil,
71
68
  'min_latitude' => nil,
@@ -43,7 +43,7 @@ namespace :geocode do
43
43
  # Load unmutated yaml file.
44
44
  data = load_country_yaml(country.alpha2)
45
45
 
46
- next unless (result = geocode(country.name, {region: country.alpha2}))
46
+ next unless (result = geocode(country.iso_short_name, {region: country.alpha2}))
47
47
  puts "WARNING:: Geocoder returned something that was not a country for #{country.alpha2}" unless result.types.include?('country')
48
48
  geometry = result.geometry
49
49
 
@@ -1,6 +1,8 @@
1
- # Extend Country class with support for timezones
2
1
  module ISO3166
3
- # Extend Country class with support for timezones
2
+ # Extend Country class with support for timezones. Requires the {tzinfo}[https://github.com/tzinfo/tzinfo] gem
3
+ #
4
+ # gem 'tzinfo'
5
+ #
4
6
  module TimezoneExtensions
5
7
  def timezones
6
8
  @tz_country ||= TZInfo::Country.get(alpha2)
@@ -1,9 +1,8 @@
1
1
  module ISO3166
2
2
  # Extend the hash class to allow locale lookup fall back behavior
3
3
  #
4
- # ex:
5
- # if a country has translations for pt, and the user looks up `pt-br` fallback
6
- # to `pt` to prevent from showing nil values
4
+ # E.g. if a country has translations for +pt+, and the user looks up +pt-br+ fallback
5
+ # to +pt+ to prevent from showing nil values
7
6
  class Translations < Hash
8
7
  def [](locale)
9
8
  super(locale) || super(locale.to_s.sub(/-.*/, ''))
@@ -1,3 +1,3 @@
1
1
  module Countries
2
- VERSION = '4.1.3'.freeze
2
+ VERSION = '4.2.1'.freeze
3
3
  end