countries 4.1.2 → 4.2.2

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 (418) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +2 -0
  3. data/CHANGELOG.md +80 -2
  4. data/README.markdown +41 -31
  5. data/Rakefile +23 -31
  6. data/countries.gemspec +4 -4
  7. data/lib/countries/cache/countries.json +1 -1
  8. data/lib/countries/cache/locales/nb.json +1 -1
  9. data/lib/countries/cache/locales/nn.json +1 -1
  10. data/lib/countries/configuration.rb +13 -0
  11. data/lib/countries/country/class_methods.rb +19 -6
  12. data/lib/countries/country/currency_methods.rb +4 -1
  13. data/lib/countries/country/emoji.rb +3 -0
  14. data/lib/countries/country.rb +147 -7
  15. data/lib/countries/data/countries/AD.yaml +28 -29
  16. data/lib/countries/data/countries/AE.yaml +32 -33
  17. data/lib/countries/data/countries/AF.yaml +32 -33
  18. data/lib/countries/data/countries/AG.yaml +28 -29
  19. data/lib/countries/data/countries/AI.yaml +27 -28
  20. data/lib/countries/data/countries/AL.yaml +28 -29
  21. data/lib/countries/data/countries/AM.yaml +30 -31
  22. data/lib/countries/data/countries/AO.yaml +25 -26
  23. data/lib/countries/data/countries/AQ.yaml +24 -25
  24. data/lib/countries/data/countries/AR.yaml +30 -31
  25. data/lib/countries/data/countries/AS.yaml +31 -32
  26. data/lib/countries/data/countries/AT.yaml +36 -37
  27. data/lib/countries/data/countries/AU.yaml +33 -34
  28. data/lib/countries/data/countries/AW.yaml +25 -26
  29. data/lib/countries/data/countries/AX.yaml +27 -28
  30. data/lib/countries/data/countries/AZ.yaml +30 -31
  31. data/lib/countries/data/countries/BA.yaml +32 -33
  32. data/lib/countries/data/countries/BB.yaml +28 -29
  33. data/lib/countries/data/countries/BD.yaml +27 -28
  34. data/lib/countries/data/countries/BE.yaml +41 -42
  35. data/lib/countries/data/countries/BF.yaml +27 -28
  36. data/lib/countries/data/countries/BG.yaml +36 -37
  37. data/lib/countries/data/countries/BH.yaml +28 -29
  38. data/lib/countries/data/countries/BI.yaml +27 -28
  39. data/lib/countries/data/countries/BJ.yaml +26 -27
  40. data/lib/countries/data/countries/BL.yaml +25 -26
  41. data/lib/countries/data/countries/BM.yaml +29 -30
  42. data/lib/countries/data/countries/BN.yaml +26 -27
  43. data/lib/countries/data/countries/BO.yaml +31 -32
  44. data/lib/countries/data/countries/BQ.yaml +28 -29
  45. data/lib/countries/data/countries/BR.yaml +35 -36
  46. data/lib/countries/data/countries/BS.yaml +27 -28
  47. data/lib/countries/data/countries/BT.yaml +28 -29
  48. data/lib/countries/data/countries/BV.yaml +23 -24
  49. data/lib/countries/data/countries/BW.yaml +27 -28
  50. data/lib/countries/data/countries/BY.yaml +30 -31
  51. data/lib/countries/data/countries/BZ.yaml +28 -29
  52. data/lib/countries/data/countries/CA.yaml +30 -31
  53. data/lib/countries/data/countries/CC.yaml +28 -29
  54. data/lib/countries/data/countries/CD.yaml +35 -36
  55. data/lib/countries/data/countries/CF.yaml +29 -30
  56. data/lib/countries/data/countries/CG.yaml +29 -30
  57. data/lib/countries/data/countries/CH.yaml +40 -41
  58. data/lib/countries/data/countries/CI.yaml +27 -28
  59. data/lib/countries/data/countries/CK.yaml +27 -28
  60. data/lib/countries/data/countries/CL.yaml +32 -33
  61. data/lib/countries/data/countries/CM.yaml +29 -30
  62. data/lib/countries/data/countries/CN.yaml +28 -29
  63. data/lib/countries/data/countries/CO.yaml +28 -29
  64. data/lib/countries/data/countries/CR.yaml +26 -27
  65. data/lib/countries/data/countries/CU.yaml +27 -28
  66. data/lib/countries/data/countries/CV.yaml +28 -29
  67. data/lib/countries/data/countries/CW.yaml +25 -26
  68. data/lib/countries/data/countries/CX.yaml +30 -31
  69. data/lib/countries/data/countries/CY.yaml +40 -41
  70. data/lib/countries/data/countries/CZ.yaml +38 -39
  71. data/lib/countries/data/countries/DE.yaml +36 -37
  72. data/lib/countries/data/countries/DJ.yaml +29 -30
  73. data/lib/countries/data/countries/DK.yaml +35 -36
  74. data/lib/countries/data/countries/DM.yaml +26 -27
  75. data/lib/countries/data/countries/DO.yaml +28 -29
  76. data/lib/countries/data/countries/DZ.yaml +28 -29
  77. data/lib/countries/data/countries/EC.yaml +28 -29
  78. data/lib/countries/data/countries/EE.yaml +35 -36
  79. data/lib/countries/data/countries/EG.yaml +28 -29
  80. data/lib/countries/data/countries/EH.yaml +30 -31
  81. data/lib/countries/data/countries/ER.yaml +31 -32
  82. data/lib/countries/data/countries/ES.yaml +36 -37
  83. data/lib/countries/data/countries/ET.yaml +28 -29
  84. data/lib/countries/data/countries/FI.yaml +38 -39
  85. data/lib/countries/data/countries/FJ.yaml +33 -34
  86. data/lib/countries/data/countries/FK.yaml +29 -30
  87. data/lib/countries/data/countries/FM.yaml +28 -29
  88. data/lib/countries/data/countries/FO.yaml +28 -29
  89. data/lib/countries/data/countries/FR.yaml +37 -38
  90. data/lib/countries/data/countries/GA.yaml +27 -28
  91. data/lib/countries/data/countries/GB.yaml +39 -38
  92. data/lib/countries/data/countries/GD.yaml +26 -27
  93. data/lib/countries/data/countries/GE.yaml +28 -29
  94. data/lib/countries/data/countries/GF.yaml +29 -30
  95. data/lib/countries/data/countries/GG.yaml +30 -31
  96. data/lib/countries/data/countries/GH.yaml +27 -28
  97. data/lib/countries/data/countries/GI.yaml +26 -27
  98. data/lib/countries/data/countries/GL.yaml +29 -30
  99. data/lib/countries/data/countries/GM.yaml +25 -26
  100. data/lib/countries/data/countries/GN.yaml +30 -31
  101. data/lib/countries/data/countries/GP.yaml +27 -28
  102. data/lib/countries/data/countries/GQ.yaml +29 -30
  103. data/lib/countries/data/countries/GR.yaml +37 -38
  104. data/lib/countries/data/countries/GS.yaml +27 -28
  105. data/lib/countries/data/countries/GT.yaml +26 -27
  106. data/lib/countries/data/countries/GU.yaml +31 -32
  107. data/lib/countries/data/countries/GW.yaml +28 -29
  108. data/lib/countries/data/countries/GY.yaml +26 -27
  109. data/lib/countries/data/countries/HK.yaml +28 -29
  110. data/lib/countries/data/countries/HM.yaml +27 -28
  111. data/lib/countries/data/countries/HN.yaml +27 -28
  112. data/lib/countries/data/countries/HR.yaml +37 -38
  113. data/lib/countries/data/countries/HT.yaml +29 -30
  114. data/lib/countries/data/countries/HU.yaml +37 -38
  115. data/lib/countries/data/countries/ID.yaml +28 -29
  116. data/lib/countries/data/countries/IE.yaml +39 -40
  117. data/lib/countries/data/countries/IL.yaml +35 -31
  118. data/lib/countries/data/countries/IM.yaml +29 -30
  119. data/lib/countries/data/countries/IN.yaml +30 -31
  120. data/lib/countries/data/countries/IO.yaml +26 -27
  121. data/lib/countries/data/countries/IQ.yaml +28 -29
  122. data/lib/countries/data/countries/IR.yaml +28 -29
  123. data/lib/countries/data/countries/IS.yaml +35 -36
  124. data/lib/countries/data/countries/IT.yaml +36 -37
  125. data/lib/countries/data/countries/JE.yaml +26 -27
  126. data/lib/countries/data/countries/JM.yaml +28 -29
  127. data/lib/countries/data/countries/JO.yaml +28 -29
  128. data/lib/countries/data/countries/JP.yaml +28 -29
  129. data/lib/countries/data/countries/KE.yaml +29 -30
  130. data/lib/countries/data/countries/KG.yaml +30 -31
  131. data/lib/countries/data/countries/KH.yaml +28 -29
  132. data/lib/countries/data/countries/KI.yaml +25 -26
  133. data/lib/countries/data/countries/KM.yaml +29 -30
  134. data/lib/countries/data/countries/KN.yaml +29 -29
  135. data/lib/countries/data/countries/KP.yaml +27 -28
  136. data/lib/countries/data/countries/KR.yaml +28 -29
  137. data/lib/countries/data/countries/KW.yaml +28 -29
  138. data/lib/countries/data/countries/KY.yaml +29 -30
  139. data/lib/countries/data/countries/KZ.yaml +30 -31
  140. data/lib/countries/data/countries/LA.yaml +27 -28
  141. data/lib/countries/data/countries/LB.yaml +30 -31
  142. data/lib/countries/data/countries/LC.yaml +28 -29
  143. data/lib/countries/data/countries/LI.yaml +27 -28
  144. data/lib/countries/data/countries/LK.yaml +28 -29
  145. data/lib/countries/data/countries/LR.yaml +28 -29
  146. data/lib/countries/data/countries/LS.yaml +28 -29
  147. data/lib/countries/data/countries/LT.yaml +37 -38
  148. data/lib/countries/data/countries/LU.yaml +39 -40
  149. data/lib/countries/data/countries/LV.yaml +36 -37
  150. data/lib/countries/data/countries/LY.yaml +27 -28
  151. data/lib/countries/data/countries/MA.yaml +28 -29
  152. data/lib/countries/data/countries/MC.yaml +28 -29
  153. data/lib/countries/data/countries/MD.yaml +28 -29
  154. data/lib/countries/data/countries/ME.yaml +33 -34
  155. data/lib/countries/data/countries/MF.yaml +29 -30
  156. data/lib/countries/data/countries/MG.yaml +30 -31
  157. data/lib/countries/data/countries/MH.yaml +30 -31
  158. data/lib/countries/data/countries/MK.yaml +28 -29
  159. data/lib/countries/data/countries/ML.yaml +25 -26
  160. data/lib/countries/data/countries/MM.yaml +27 -28
  161. data/lib/countries/data/countries/MN.yaml +28 -29
  162. data/lib/countries/data/countries/MO.yaml +28 -29
  163. data/lib/countries/data/countries/MP.yaml +31 -32
  164. data/lib/countries/data/countries/MQ.yaml +27 -28
  165. data/lib/countries/data/countries/MR.yaml +29 -30
  166. data/lib/countries/data/countries/MS.yaml +26 -27
  167. data/lib/countries/data/countries/MT.yaml +36 -37
  168. data/lib/countries/data/countries/MU.yaml +28 -29
  169. data/lib/countries/data/countries/MV.yaml +28 -29
  170. data/lib/countries/data/countries/MW.yaml +27 -28
  171. data/lib/countries/data/countries/MX.yaml +33 -34
  172. data/lib/countries/data/countries/MY.yaml +30 -31
  173. data/lib/countries/data/countries/MZ.yaml +28 -29
  174. data/lib/countries/data/countries/NA.yaml +30 -31
  175. data/lib/countries/data/countries/NC.yaml +29 -30
  176. data/lib/countries/data/countries/NE.yaml +27 -28
  177. data/lib/countries/data/countries/NF.yaml +29 -30
  178. data/lib/countries/data/countries/NG.yaml +33 -34
  179. data/lib/countries/data/countries/NI.yaml +26 -27
  180. data/lib/countries/data/countries/NL.yaml +36 -37
  181. data/lib/countries/data/countries/NO.yaml +36 -37
  182. data/lib/countries/data/countries/NP.yaml +32 -33
  183. data/lib/countries/data/countries/NR.yaml +27 -28
  184. data/lib/countries/data/countries/NU.yaml +25 -26
  185. data/lib/countries/data/countries/NZ.yaml +34 -35
  186. data/lib/countries/data/countries/OM.yaml +28 -29
  187. data/lib/countries/data/countries/PA.yaml +26 -27
  188. data/lib/countries/data/countries/PE.yaml +28 -29
  189. data/lib/countries/data/countries/PF.yaml +29 -30
  190. data/lib/countries/data/countries/PG.yaml +28 -29
  191. data/lib/countries/data/countries/PH.yaml +35 -36
  192. data/lib/countries/data/countries/PK.yaml +30 -31
  193. data/lib/countries/data/countries/PL.yaml +36 -37
  194. data/lib/countries/data/countries/PM.yaml +29 -30
  195. data/lib/countries/data/countries/PN.yaml +27 -28
  196. data/lib/countries/data/countries/PR.yaml +28 -29
  197. data/lib/countries/data/countries/PS.yaml +31 -32
  198. data/lib/countries/data/countries/PT.yaml +33 -34
  199. data/lib/countries/data/countries/PW.yaml +26 -27
  200. data/lib/countries/data/countries/PY.yaml +28 -29
  201. data/lib/countries/data/countries/QA.yaml +27 -28
  202. data/lib/countries/data/countries/RE.yaml +28 -29
  203. data/lib/countries/data/countries/RO.yaml +37 -38
  204. data/lib/countries/data/countries/RS.yaml +28 -29
  205. data/lib/countries/data/countries/RU.yaml +28 -29
  206. data/lib/countries/data/countries/RW.yaml +31 -32
  207. data/lib/countries/data/countries/SA.yaml +33 -29
  208. data/lib/countries/data/countries/SB.yaml +27 -28
  209. data/lib/countries/data/countries/SC.yaml +28 -29
  210. data/lib/countries/data/countries/SD.yaml +30 -31
  211. data/lib/countries/data/countries/SE.yaml +37 -38
  212. data/lib/countries/data/countries/SG.yaml +32 -33
  213. data/lib/countries/data/countries/SH.yaml +29 -30
  214. data/lib/countries/data/countries/SI.yaml +36 -37
  215. data/lib/countries/data/countries/SJ.yaml +29 -30
  216. data/lib/countries/data/countries/SK.yaml +36 -37
  217. data/lib/countries/data/countries/SL.yaml +25 -26
  218. data/lib/countries/data/countries/SM.yaml +28 -29
  219. data/lib/countries/data/countries/SN.yaml +27 -28
  220. data/lib/countries/data/countries/SO.yaml +30 -31
  221. data/lib/countries/data/countries/SR.yaml +26 -27
  222. data/lib/countries/data/countries/SS.yaml +29 -30
  223. data/lib/countries/data/countries/ST.yaml +27 -28
  224. data/lib/countries/data/countries/SV.yaml +27 -28
  225. data/lib/countries/data/countries/SX.yaml +28 -29
  226. data/lib/countries/data/countries/SY.yaml +27 -28
  227. data/lib/countries/data/countries/SZ.yaml +30 -31
  228. data/lib/countries/data/countries/TC.yaml +30 -31
  229. data/lib/countries/data/countries/TD.yaml +29 -30
  230. data/lib/countries/data/countries/TF.yaml +28 -29
  231. data/lib/countries/data/countries/TG.yaml +25 -26
  232. data/lib/countries/data/countries/TH.yaml +34 -35
  233. data/lib/countries/data/countries/TJ.yaml +30 -31
  234. data/lib/countries/data/countries/TK.yaml +27 -28
  235. data/lib/countries/data/countries/TL.yaml +27 -28
  236. data/lib/countries/data/countries/TM.yaml +30 -31
  237. data/lib/countries/data/countries/TN.yaml +30 -31
  238. data/lib/countries/data/countries/TO.yaml +29 -30
  239. data/lib/countries/data/countries/TR.yaml +28 -29
  240. data/lib/countries/data/countries/TT.yaml +28 -29
  241. data/lib/countries/data/countries/TV.yaml +25 -26
  242. data/lib/countries/data/countries/TW.yaml +28 -29
  243. data/lib/countries/data/countries/TZ.yaml +30 -31
  244. data/lib/countries/data/countries/UA.yaml +34 -35
  245. data/lib/countries/data/countries/UG.yaml +28 -29
  246. data/lib/countries/data/countries/UM.yaml +29 -30
  247. data/lib/countries/data/countries/US.yaml +29 -29
  248. data/lib/countries/data/countries/UY.yaml +27 -28
  249. data/lib/countries/data/countries/UZ.yaml +30 -31
  250. data/lib/countries/data/countries/VA.yaml +31 -32
  251. data/lib/countries/data/countries/VC.yaml +29 -30
  252. data/lib/countries/data/countries/VE.yaml +26 -27
  253. data/lib/countries/data/countries/VG.yaml +29 -30
  254. data/lib/countries/data/countries/VI.yaml +28 -29
  255. data/lib/countries/data/countries/VN.yaml +28 -29
  256. data/lib/countries/data/countries/VU.yaml +31 -32
  257. data/lib/countries/data/countries/WF.yaml +29 -30
  258. data/lib/countries/data/countries/WS.yaml +28 -29
  259. data/lib/countries/data/countries/YE.yaml +27 -28
  260. data/lib/countries/data/countries/YT.yaml +26 -27
  261. data/lib/countries/data/countries/ZA.yaml +39 -40
  262. data/lib/countries/data/countries/ZM.yaml +28 -29
  263. data/lib/countries/data/countries/ZW.yaml +31 -32
  264. data/lib/countries/data/subdivisions/AD.yaml +21 -21
  265. data/lib/countries/data/subdivisions/AF.yaml +2 -2
  266. data/lib/countries/data/subdivisions/AG.yaml +1 -1
  267. data/lib/countries/data/subdivisions/AI.yaml +98 -98
  268. data/lib/countries/data/subdivisions/AL.yaml +82 -626
  269. data/lib/countries/data/subdivisions/AZ.yaml +5 -5
  270. data/lib/countries/data/subdivisions/BA.yaml +11 -11
  271. data/lib/countries/data/subdivisions/BD.yaml +8 -8
  272. data/lib/countries/data/subdivisions/BE.yaml +2 -2
  273. data/lib/countries/data/subdivisions/BF.yaml +13 -13
  274. data/lib/countries/data/subdivisions/BI.yaml +3 -3
  275. data/lib/countries/data/subdivisions/BM.yaml +77 -77
  276. data/lib/countries/data/subdivisions/BS.yaml +22 -22
  277. data/lib/countries/data/subdivisions/BW.yaml +7 -7
  278. data/lib/countries/data/subdivisions/BY.yaml +1 -1
  279. data/lib/countries/data/subdivisions/CD.yaml +19 -19
  280. data/lib/countries/data/subdivisions/CG.yaml +1 -1
  281. data/lib/countries/data/subdivisions/CI.yaml +14 -14
  282. data/lib/countries/data/subdivisions/CK.yaml +77 -77
  283. data/lib/countries/data/subdivisions/CN.yaml +0 -107
  284. data/lib/countries/data/subdivisions/CV.yaml +9 -9
  285. data/lib/countries/data/subdivisions/CZ.yaml +115 -50
  286. data/lib/countries/data/subdivisions/DK.yaml +1 -0
  287. data/lib/countries/data/subdivisions/DO.yaml +11 -11
  288. data/lib/countries/data/subdivisions/EE.yaml +78 -2
  289. data/lib/countries/data/subdivisions/EH.yaml +12 -12
  290. data/lib/countries/data/subdivisions/ES.yaml +17 -17
  291. data/lib/countries/data/subdivisions/FI.yaml +16 -16
  292. data/lib/countries/data/subdivisions/FJ.yaml +14 -14
  293. data/lib/countries/data/subdivisions/GB.yaml +21 -20
  294. data/lib/countries/data/subdivisions/GH.yaml +7 -7
  295. data/lib/countries/data/subdivisions/GL.yaml +6 -6
  296. data/lib/countries/data/subdivisions/GN.yaml +7 -7
  297. data/lib/countries/data/subdivisions/GQ.yaml +1 -0
  298. data/lib/countries/data/subdivisions/GR.yaml +1 -1
  299. data/lib/countries/data/subdivisions/GW.yaml +3 -3
  300. data/lib/countries/data/subdivisions/HT.yaml +1 -1
  301. data/lib/countries/data/subdivisions/ID.yaml +41 -41
  302. data/lib/countries/data/subdivisions/IE.yaml +1 -2
  303. data/lib/countries/data/subdivisions/IN.yaml +4 -3
  304. data/lib/countries/data/subdivisions/IQ.yaml +1 -1
  305. data/lib/countries/data/subdivisions/IR.yaml +2 -1
  306. data/lib/countries/data/subdivisions/IS.yaml +72 -0
  307. data/lib/countries/data/subdivisions/IT.yaml +7 -8
  308. data/lib/countries/data/subdivisions/KE.yaml +391 -503
  309. data/lib/countries/data/subdivisions/KG.yaml +1 -1
  310. data/lib/countries/data/subdivisions/KH.yaml +1 -1
  311. data/lib/countries/data/subdivisions/KN.yaml +2 -2
  312. data/lib/countries/data/subdivisions/KP.yaml +12 -12
  313. data/lib/countries/data/subdivisions/KR.yaml +1 -1
  314. data/lib/countries/data/subdivisions/KZ.yaml +1 -1
  315. data/lib/countries/data/subdivisions/LA.yaml +1 -1
  316. data/lib/countries/data/subdivisions/LB.yaml +2 -2
  317. data/lib/countries/data/subdivisions/LC.yaml +10 -10
  318. data/lib/countries/data/subdivisions/LK.yaml +9 -9
  319. data/lib/countries/data/subdivisions/LR.yaml +2 -2
  320. data/lib/countries/data/subdivisions/LT.yaml +60 -60
  321. data/lib/countries/data/subdivisions/LU.yaml +1 -1
  322. data/lib/countries/data/subdivisions/LV.yaml +6 -0
  323. data/lib/countries/data/subdivisions/MA.yaml +35 -35
  324. data/lib/countries/data/subdivisions/MC.yaml +17 -17
  325. data/lib/countries/data/subdivisions/MD.yaml +740 -740
  326. data/lib/countries/data/subdivisions/ME.yaml +3 -3
  327. data/lib/countries/data/subdivisions/MH.yaml +2 -2
  328. data/lib/countries/data/subdivisions/MK.yaml +3501 -5809
  329. data/lib/countries/data/subdivisions/ML.yaml +2 -2
  330. data/lib/countries/data/subdivisions/MM.yaml +1 -1
  331. data/lib/countries/data/subdivisions/MR.yaml +3 -3
  332. data/lib/countries/data/subdivisions/MV.yaml +8 -8
  333. data/lib/countries/data/subdivisions/MW.yaml +4 -4
  334. data/lib/countries/data/subdivisions/MX.yaml +1 -1
  335. data/lib/countries/data/subdivisions/NL.yaml +6 -6
  336. data/lib/countries/data/subdivisions/NO.yaml +1 -0
  337. data/lib/countries/data/subdivisions/NP.yaml +12 -12
  338. data/lib/countries/data/subdivisions/NZ.yaml +1 -1
  339. data/lib/countries/data/subdivisions/OM.yaml +6 -6
  340. data/lib/countries/data/subdivisions/PG.yaml +3 -3
  341. data/lib/countries/data/subdivisions/PH.yaml +16 -16
  342. data/lib/countries/data/subdivisions/PK.yaml +2 -2
  343. data/lib/countries/data/subdivisions/PS.yaml +16 -16
  344. data/lib/countries/data/subdivisions/QA.yaml +2 -2
  345. data/lib/countries/data/subdivisions/RS.yaml +2 -2
  346. data/lib/countries/data/subdivisions/SC.yaml +4 -2
  347. data/lib/countries/data/subdivisions/SG.yaml +39 -109
  348. data/lib/countries/data/subdivisions/SH.yaml +1 -1
  349. data/lib/countries/data/subdivisions/SI.yaml +19 -19
  350. data/lib/countries/data/subdivisions/SJ.yaml +14 -14
  351. data/lib/countries/data/subdivisions/SL.yaml +1 -1
  352. data/lib/countries/data/subdivisions/SN.yaml +3 -3
  353. data/lib/countries/data/subdivisions/SS.yaml +10 -10
  354. data/lib/countries/data/subdivisions/ST.yaml +6 -0
  355. data/lib/countries/data/subdivisions/TD.yaml +6 -6
  356. data/lib/countries/data/subdivisions/TH.yaml +1 -1
  357. data/lib/countries/data/subdivisions/TJ.yaml +2 -2
  358. data/lib/countries/data/subdivisions/TK.yaml +21 -21
  359. data/lib/countries/data/subdivisions/TM.yaml +1 -1
  360. data/lib/countries/data/subdivisions/TT.yaml +2 -2
  361. data/lib/countries/data/subdivisions/TV.yaml +1 -1
  362. data/lib/countries/data/subdivisions/TW.yaml +3 -17
  363. data/lib/countries/data/subdivisions/TZ.yaml +5 -5
  364. data/lib/countries/data/subdivisions/UG.yaml +59 -52
  365. data/lib/countries/data/subdivisions/UM.yaml +0 -10
  366. data/lib/countries/data/subdivisions/US.yaml +0 -42
  367. data/lib/countries/data/subdivisions/WF.yaml +3 -13
  368. data/lib/countries/data/subdivisions/YE.yaml +3 -3
  369. data/lib/countries/data/subdivisions/ZA.yaml +2 -2
  370. data/lib/countries/data/subdivisions/ZM.yaml +1 -1
  371. data/lib/countries/data/translation_corrections.yaml +20 -14
  372. data/lib/countries/data.rb +5 -1
  373. data/lib/countries/global.rb +13 -3
  374. data/lib/countries/mongoid.rb +3 -0
  375. data/lib/countries/sources/cldr/downloader.rb +3 -0
  376. data/lib/countries/sources/cldr/subdivision.rb +1 -0
  377. data/lib/countries/sources/cldr/subdivision_updater.rb +1 -0
  378. data/lib/countries/sources/local/cached_loader.rb +2 -0
  379. data/lib/countries/sources/local/subdivision.rb +1 -0
  380. data/lib/countries/structure.rb +2 -5
  381. data/lib/countries/tasks/geocoding.rake +1 -1
  382. data/lib/countries/timezones.rb +4 -2
  383. data/lib/countries/translations.rb +2 -3
  384. data/lib/countries/version.rb +1 -1
  385. data/spec/country_spec.rb +60 -56
  386. data/spec/data_spec.rb +9 -9
  387. metadata +5 -36
  388. data/lib/countries/data/subdivisions/AS.yaml +0 -85
  389. data/lib/countries/data/subdivisions/AW.yaml +0 -9
  390. data/lib/countries/data/subdivisions/AX.yaml +0 -51
  391. data/lib/countries/data/subdivisions/BL.yaml +0 -11
  392. data/lib/countries/data/subdivisions/CP.yaml +0 -4
  393. data/lib/countries/data/subdivisions/CW.yaml +0 -9
  394. data/lib/countries/data/subdivisions/FO.yaml +0 -85
  395. data/lib/countries/data/subdivisions/GF.yaml +0 -11
  396. data/lib/countries/data/subdivisions/GG.yaml +0 -155
  397. data/lib/countries/data/subdivisions/GP.yaml +0 -11
  398. data/lib/countries/data/subdivisions/GU.yaml +0 -275
  399. data/lib/countries/data/subdivisions/HK.yaml +0 -267
  400. data/lib/countries/data/subdivisions/IC.yaml +0 -4
  401. data/lib/countries/data/subdivisions/IM.yaml +0 -337
  402. data/lib/countries/data/subdivisions/JE.yaml +0 -169
  403. data/lib/countries/data/subdivisions/KY.yaml +0 -85
  404. data/lib/countries/data/subdivisions/MF.yaml +0 -9
  405. data/lib/countries/data/subdivisions/MO.yaml +0 -9
  406. data/lib/countries/data/subdivisions/MP.yaml +0 -71
  407. data/lib/countries/data/subdivisions/MQ.yaml +0 -11
  408. data/lib/countries/data/subdivisions/MS.yaml +0 -43
  409. data/lib/countries/data/subdivisions/NC.yaml +0 -57
  410. data/lib/countries/data/subdivisions/PF.yaml +0 -81
  411. data/lib/countries/data/subdivisions/PM.yaml +0 -39
  412. data/lib/countries/data/subdivisions/PR.yaml +0 -1107
  413. data/lib/countries/data/subdivisions/RE.yaml +0 -11
  414. data/lib/countries/data/subdivisions/SX.yaml +0 -9
  415. data/lib/countries/data/subdivisions/TA.yaml +0 -4
  416. data/lib/countries/data/subdivisions/TF.yaml +0 -67
  417. data/lib/countries/data/subdivisions/VI.yaml +0 -57
  418. data/lib/countries/data/subdivisions/YT.yaml +0 -247
@@ -1,26 +1,46 @@
1
1
  ---
2
2
  LY:
3
- continent: Africa
4
3
  alpha2: LY
5
4
  alpha3: LBY
5
+ continent: Africa
6
6
  country_code: '218'
7
+ currency_code: LYD
8
+ gec: LY
9
+ geo:
10
+ latitude: 26.3351
11
+ longitude: 17.228331
12
+ max_latitude: 33.2203
13
+ max_longitude: 25.2686
14
+ min_latitude: 19.5
15
+ min_longitude: 9.391466
16
+ bounds:
17
+ northeast:
18
+ lat: 33.2203
19
+ lng: 25.2686
20
+ southwest:
21
+ lat: 19.5
22
+ lng: 9.391466
7
23
  international_prefix: '00'
8
24
  ioc: LBA
9
- gec: LY
10
- name: Libya
25
+ iso_long_name: The State of Libya
26
+ iso_short_name: Libya
27
+ languages_official:
28
+ - ar
29
+ languages_spoken:
30
+ - ar
11
31
  national_destination_code_lengths:
12
32
  - 2
13
33
  national_number_lengths:
14
34
  - 8
15
35
  - 9
16
36
  national_prefix: '0'
37
+ nationality: Libyan
17
38
  number: '434'
39
+ postal_code: false
18
40
  region: Africa
41
+ start_of_week: sunday
19
42
  subregion: Northern Africa
20
- world_region: EMEA
21
43
  un_locode: LY
22
- nationality: Libyan
23
- postal_code: false
24
44
  unofficial_names:
25
45
  - Libya
26
46
  - ليبيا
@@ -30,25 +50,4 @@ LY:
30
50
  - リビア
31
51
  - Libië
32
52
  - Libyan Arab Jamahiriya
33
- languages_official:
34
- - ar
35
- languages_spoken:
36
- - ar
37
- geo:
38
- latitude: 26.3351
39
- latitude_dec: '27.23609733581543'
40
- longitude: 17.228331
41
- longitude_dec: '18.043556213378906'
42
- max_latitude: 33.2203
43
- max_longitude: 25.2686
44
- min_latitude: 19.5
45
- min_longitude: 9.391466
46
- bounds:
47
- northeast:
48
- lat: 33.2203
49
- lng: 25.2686
50
- southwest:
51
- lat: 19.5
52
- lng: 9.391466
53
- currency_code: LYD
54
- start_of_week: sunday
53
+ world_region: EMEA
@@ -1,26 +1,46 @@
1
1
  ---
2
2
  MA:
3
- continent: Africa
4
3
  alpha2: MA
5
4
  alpha3: MAR
5
+ continent: Africa
6
6
  country_code: '212'
7
+ currency_code: MAD
8
+ gec: MO
9
+ geo:
10
+ latitude: 31.791702
11
+ longitude: -7.092619999999999
12
+ max_latitude: 35.9344
13
+ max_longitude: -0.9969759
14
+ min_latitude: 27.6672693
15
+ min_longitude: -13.3044001
16
+ bounds:
17
+ northeast:
18
+ lat: 35.9344
19
+ lng: -0.9969759
20
+ southwest:
21
+ lat: 27.6672693
22
+ lng: -13.3044001
7
23
  international_prefix: '00'
8
24
  ioc: MAR
9
- gec: MO
10
- name: Morocco
25
+ iso_long_name: The Kingdom of Morocco
26
+ iso_short_name: Morocco
27
+ languages_official:
28
+ - ar
29
+ languages_spoken:
30
+ - ar
11
31
  national_destination_code_lengths:
12
32
  - 2
13
33
  national_number_lengths:
14
34
  - 8
15
35
  national_prefix: '0'
36
+ nationality: Moroccan
16
37
  number: '504'
38
+ postal_code: true
39
+ postal_code_format: "\\d{5}"
17
40
  region: Africa
41
+ start_of_week: monday
18
42
  subregion: Northern Africa
19
- world_region: EMEA
20
43
  un_locode: MA
21
- nationality: Moroccan
22
- postal_code: true
23
- postal_code_format: "\\d{5}"
24
44
  unofficial_names:
25
45
  - Morocco
26
46
  - المغرب
@@ -28,25 +48,4 @@ MA:
28
48
  - Maroc
29
49
  - Marruecos
30
50
  - モロッコ
31
- languages_official:
32
- - ar
33
- languages_spoken:
34
- - ar
35
- geo:
36
- latitude: 31.791702
37
- latitude_dec: '29.14059066772461'
38
- longitude: -7.092619999999999
39
- longitude_dec: "-8.953388214111328"
40
- max_latitude: 35.9344
41
- max_longitude: -0.9969759
42
- min_latitude: 27.6672693
43
- min_longitude: -13.3044001
44
- bounds:
45
- northeast:
46
- lat: 35.9344
47
- lng: -0.9969759
48
- southwest:
49
- lat: 27.6672693
50
- lng: -13.3044001
51
- currency_code: MAD
52
- start_of_week: monday
51
+ world_region: EMEA
@@ -1,40 +1,14 @@
1
1
  ---
2
2
  MC:
3
- continent: Europe
4
3
  alpha2: MC
5
4
  alpha3: MCO
5
+ continent: Europe
6
6
  country_code: '377'
7
- international_prefix: '00'
8
- ioc: MON
7
+ currency_code: EUR
9
8
  gec: MN
10
- name: Monaco
11
- national_destination_code_lengths:
12
- - 2
13
- national_number_lengths:
14
- - 8
15
- - 9
16
- national_prefix: '0'
17
- number: '492'
18
- region: Europe
19
- subregion: Western Europe
20
- world_region: EMEA
21
- un_locode: MC
22
- nationality: Monegasque
23
- postal_code: true
24
- postal_code_format: 980\d{2}
25
- unofficial_names:
26
- - Monaco
27
- - Mónaco
28
- - モナコ
29
- languages_official:
30
- - fr
31
- languages_spoken:
32
- - fr
33
9
  geo:
34
10
  latitude: 43.73841760000001
35
- latitude_dec: '43.738929748535156'
36
11
  longitude: 7.424615799999999
37
- longitude_dec: '7.425483226776123'
38
12
  max_latitude: 43.7519029
39
13
  max_longitude: 7.4426
40
14
  min_latitude: 43.7237999
@@ -46,5 +20,30 @@ MC:
46
20
  southwest:
47
21
  lat: 43.7237999
48
22
  lng: 7.4091049
49
- currency_code: EUR
23
+ international_prefix: '00'
24
+ ioc: MON
25
+ iso_long_name: The Principality of Monaco
26
+ iso_short_name: Monaco
27
+ languages_official:
28
+ - fr
29
+ languages_spoken:
30
+ - fr
31
+ national_destination_code_lengths:
32
+ - 2
33
+ national_number_lengths:
34
+ - 8
35
+ - 9
36
+ national_prefix: '0'
37
+ nationality: Monegasque
38
+ number: '492'
39
+ postal_code: true
40
+ postal_code_format: 980\d{2}
41
+ region: Europe
50
42
  start_of_week: monday
43
+ subregion: Western Europe
44
+ un_locode: MC
45
+ unofficial_names:
46
+ - Monaco
47
+ - Mónaco
48
+ - モナコ
49
+ world_region: EMEA
@@ -1,26 +1,46 @@
1
1
  ---
2
2
  MD:
3
- continent: Europe
4
3
  alpha2: MD
5
4
  alpha3: MDA
5
+ continent: Europe
6
6
  country_code: '373'
7
+ currency_code: MDL
8
+ gec: MD
9
+ geo:
10
+ latitude: 47.411631
11
+ longitude: 28.369885
12
+ max_latitude: 48.492029
13
+ max_longitude: 30.1635898
14
+ min_latitude: 45.4674379
15
+ min_longitude: 26.6164248
16
+ bounds:
17
+ northeast:
18
+ lat: 48.492029
19
+ lng: 30.1635898
20
+ southwest:
21
+ lat: 45.4674379
22
+ lng: 26.6164248
7
23
  international_prefix: '00'
8
24
  ioc: MDA
9
- gec: MD
10
- name: Moldova (Republic of)
25
+ iso_long_name: The Republic of Moldova
26
+ iso_short_name: Moldova (Republic of)
27
+ languages_official:
28
+ - ro
29
+ languages_spoken:
30
+ - ro
11
31
  national_destination_code_lengths:
12
32
  - 2
13
33
  national_number_lengths:
14
34
  - 8
15
35
  national_prefix: '0'
36
+ nationality: Moldovan
16
37
  number: '498'
38
+ postal_code: true
39
+ postal_code_format: "\\d{4}"
17
40
  region: Europe
41
+ start_of_week: monday
18
42
  subregion: Eastern Europe
19
- world_region: EMEA
20
43
  un_locode: MD
21
- nationality: Moldovan
22
- postal_code: true
23
- postal_code_format: "\\d{4}"
24
44
  unofficial_names:
25
45
  - Moldova
26
46
  - Moldawien
@@ -29,25 +49,4 @@ MD:
29
49
  - the Republic of Moldova
30
50
  - モルドバ共和国
31
51
  - Moldavië
32
- languages_official:
33
- - ro
34
- languages_spoken:
35
- - ro
36
- geo:
37
- latitude: 47.411631
38
- latitude_dec: '47.203704833984375'
39
- longitude: 28.369885
40
- longitude_dec: '28.46834373474121'
41
- max_latitude: 48.492029
42
- max_longitude: 30.1635898
43
- min_latitude: 45.4674379
44
- min_longitude: 26.6164248
45
- bounds:
46
- northeast:
47
- lat: 48.492029
48
- lng: 30.1635898
49
- southwest:
50
- lat: 45.4674379
51
- lng: 26.6164248
52
- currency_code: MDL
53
- start_of_week: monday
52
+ world_region: EMEA
@@ -1,45 +1,14 @@
1
1
  ---
2
2
  ME:
3
- continent: Europe
4
3
  alpha2: ME
5
4
  alpha3: MNE
5
+ continent: Europe
6
6
  country_code: '382'
7
- international_prefix: '99'
8
- ioc: MNE
7
+ currency_code: EUR
9
8
  gec: MJ
10
- name: Montenegro
11
- national_destination_code_lengths:
12
- - 2
13
- national_number_lengths:
14
- - 8
15
- national_prefix: '0'
16
- number: '499'
17
- region: Europe
18
- subregion: Southern Europe
19
- world_region: EMEA
20
- un_locode: ME
21
- nationality: Montenegrin
22
- postal_code: true
23
- postal_code_format: 8\d{4}
24
- unofficial_names:
25
- - Crna Gora
26
- - Montenegro
27
- - モンテネグロ
28
- languages_official:
29
- - sr
30
- - bs
31
- - sq
32
- - hr
33
- languages_spoken:
34
- - sr
35
- - bs
36
- - sq
37
- - hr
38
9
  geo:
39
10
  latitude: 42.708678
40
- latitude_dec: '42.752803802490234'
41
11
  longitude: 19.37439
42
- longitude_dec: '19.237918853759766'
43
12
  max_latitude: 43.558743
44
13
  max_longitude: 20.352926
45
14
  min_latitude: 41.8297
@@ -51,5 +20,35 @@ ME:
51
20
  southwest:
52
21
  lat: 41.8297
53
22
  lng: 18.4337921
54
- currency_code: EUR
23
+ international_prefix: '99'
24
+ ioc: MNE
25
+ iso_long_name: Montenegro
26
+ iso_short_name: Montenegro
27
+ languages_official:
28
+ - sr
29
+ - bs
30
+ - sq
31
+ - hr
32
+ languages_spoken:
33
+ - sr
34
+ - bs
35
+ - sq
36
+ - hr
37
+ national_destination_code_lengths:
38
+ - 2
39
+ national_number_lengths:
40
+ - 8
41
+ national_prefix: '0'
42
+ nationality: Montenegrin
43
+ number: '499'
44
+ postal_code: true
45
+ postal_code_format: 8\d{4}
46
+ region: Europe
55
47
  start_of_week: monday
48
+ subregion: Southern Europe
49
+ un_locode: ME
50
+ unofficial_names:
51
+ - Crna Gora
52
+ - Montenegro
53
+ - モンテネグロ
54
+ world_region: EMEA
@@ -1,41 +1,14 @@
1
1
  ---
2
2
  MF:
3
- continent: North America
4
3
  alpha2: MF
5
4
  alpha3: MAF
5
+ continent: North America
6
6
  country_code: '590'
7
- international_prefix: ''
8
- ioc:
7
+ currency_code: EUR
9
8
  gec: RN
10
- name: Saint Martin (French part)
11
- national_destination_code_lengths: []
12
- national_number_lengths: []
13
- national_prefix: ''
14
- number: '663'
15
- region: Americas
16
- subregion: Caribbean
17
- world_region: AMER
18
- un_locode: MF
19
- nationality: Saint Martin Islander
20
- postal_code: true
21
- postal_code_format: 9[78][01]\d{2}
22
- unofficial_names:
23
- - Saint Martin
24
- - サン・マルタン(フランス領)
25
- - Saint-Martin
26
- languages_official:
27
- - en
28
- - fr
29
- - nl
30
- languages_spoken:
31
- - en
32
- - fr
33
- - nl
34
9
  geo:
35
10
  latitude: 18.08255
36
- latitude_dec: '18.042224884033203'
37
11
  longitude: -63.05225100000001
38
- longitude_dec: "-63.06623458862305"
39
12
  max_latitude: 18.1356001
40
13
  max_longitude: -62.9613001
41
14
  min_latitude: 18.0462883
@@ -47,5 +20,31 @@ MF:
47
20
  southwest:
48
21
  lat: 18.0462883
49
22
  lng: -63.1630001
50
- currency_code: EUR
23
+ international_prefix: ''
24
+ ioc:
25
+ iso_long_name: The Collectivity of Saint-Martin
26
+ iso_short_name: Saint Martin (French part)
27
+ languages_official:
28
+ - en
29
+ - fr
30
+ - nl
31
+ languages_spoken:
32
+ - en
33
+ - fr
34
+ - nl
35
+ national_destination_code_lengths: []
36
+ national_number_lengths: []
37
+ national_prefix: ''
38
+ nationality: Saint Martin Islander
39
+ number: '663'
40
+ postal_code: true
41
+ postal_code_format: 9[78][01]\d{2}
42
+ region: Americas
51
43
  start_of_week: monday
44
+ subregion: Caribbean
45
+ un_locode: MF
46
+ unofficial_names:
47
+ - Saint Martin
48
+ - サン・マルタン(フランス領)
49
+ - Saint-Martin
50
+ world_region: AMER
@@ -1,42 +1,14 @@
1
1
  ---
2
2
  MG:
3
- continent: Africa
4
3
  alpha2: MG
5
4
  alpha3: MDG
5
+ continent: Africa
6
6
  country_code: '261'
7
- international_prefix: '00'
8
- ioc: MAD
7
+ currency_code: MGA
9
8
  gec: MA
10
- name: Madagascar
11
- national_destination_code_lengths:
12
- - 2
13
- national_number_lengths:
14
- - 9
15
- national_prefix: None
16
- number: '450'
17
- region: Africa
18
- subregion: Eastern Africa
19
- world_region: EMEA
20
- un_locode: MG
21
- nationality: Malagasy
22
- postal_code: true
23
- postal_code_format: "\\d{3}"
24
- unofficial_names:
25
- - Madagascar
26
- - Madagaskar
27
- - the Republic of Madagascar
28
- - マダガスカル
29
- languages_official:
30
- - fr
31
- - mg
32
- languages_spoken:
33
- - fr
34
- - mg
35
9
  geo:
36
10
  latitude: -18.766947
37
- latitude_dec: "-19.27239418029785"
38
11
  longitude: 46.869107
39
- longitude_dec: '46.69843292236328'
40
12
  max_latitude: -11.4369999
41
13
  max_longitude: 50.9985001
42
14
  min_latitude: -26.2146
@@ -48,5 +20,32 @@ MG:
48
20
  southwest:
49
21
  lat: -26.2146
50
22
  lng: 42.7368
51
- currency_code: MGA
23
+ international_prefix: '00'
24
+ ioc: MAD
25
+ iso_long_name: The Republic of Madagascar
26
+ iso_short_name: Madagascar
27
+ languages_official:
28
+ - fr
29
+ - mg
30
+ languages_spoken:
31
+ - fr
32
+ - mg
33
+ national_destination_code_lengths:
34
+ - 2
35
+ national_number_lengths:
36
+ - 9
37
+ national_prefix: None
38
+ nationality: Malagasy
39
+ number: '450'
40
+ postal_code: true
41
+ postal_code_format: "\\d{3}"
42
+ region: Africa
52
43
  start_of_week: monday
44
+ subregion: Eastern Africa
45
+ un_locode: MG
46
+ unofficial_names:
47
+ - Madagascar
48
+ - Madagaskar
49
+ - the Republic of Madagascar
50
+ - マダガスカル
51
+ world_region: EMEA
@@ -1,26 +1,48 @@
1
1
  ---
2
2
  MH:
3
- continent: Australia
4
3
  alpha2: MH
5
4
  alpha3: MHL
5
+ continent: Australia
6
6
  country_code: '692'
7
+ currency_code: USD
8
+ gec: RM
9
+ geo:
10
+ latitude: 7.131474
11
+ longitude: 171.184478
12
+ max_latitude: 15.0190749
13
+ max_longitude: 172.5732421
14
+ min_latitude: 4.1601583
15
+ min_longitude: 159.8840332
16
+ bounds:
17
+ northeast:
18
+ lat: 15.0190749
19
+ lng: 172.5732421
20
+ southwest:
21
+ lat: 4.1601583
22
+ lng: 159.8840332
7
23
  international_prefix: '00'
8
24
  ioc: MHL
9
- gec: RM
10
- name: Marshall Islands
25
+ iso_long_name: The Republic of the Marshall Islands
26
+ iso_short_name: Marshall Islands
27
+ languages_official:
28
+ - en
29
+ - mh
30
+ languages_spoken:
31
+ - en
32
+ - mh
11
33
  national_destination_code_lengths:
12
34
  - 2
13
35
  national_number_lengths:
14
36
  - 7
15
37
  national_prefix: '1'
38
+ nationality: Marshallese
16
39
  number: '584'
40
+ postal_code: true
41
+ postal_code_format: "(969[67]\\d)(?:[ \\-](\\d{4}))?"
17
42
  region: Oceania
43
+ start_of_week: monday
18
44
  subregion: Micronesia
19
- world_region: APAC
20
45
  un_locode: MH
21
- nationality: Marshallese
22
- postal_code: true
23
- postal_code_format: "(969[67]\\d)(?:[ \\-](\\d{4}))?"
24
46
  unofficial_names:
25
47
  - Marshall Islands
26
48
  - Marshallinseln
@@ -28,27 +50,4 @@ MH:
28
50
  - Islas Marshall
29
51
  - マーシャル諸島
30
52
  - Marshalleilanden
31
- languages_official:
32
- - en
33
- - mh
34
- languages_spoken:
35
- - en
36
- - mh
37
- geo:
38
- latitude: 7.131474
39
- latitude_dec: '7.286207675933838'
40
- longitude: 171.184478
41
- longitude_dec: '168.75140380859375'
42
- max_latitude: 15.0190749
43
- max_longitude: 172.5732421
44
- min_latitude: 4.1601583
45
- min_longitude: 159.8840332
46
- bounds:
47
- northeast:
48
- lat: 15.0190749
49
- lng: 172.5732421
50
- southwest:
51
- lat: 4.1601583
52
- lng: 159.8840332
53
- currency_code: USD
54
- start_of_week: monday
53
+ world_region: APAC