countries 4.2.3 → 5.1.0

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 (520) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/codeql-analysis.yml +70 -0
  3. data/.github/workflows/tests.yml +3 -7
  4. data/.rubocop.yml +40 -1
  5. data/.rubocop_todo.yml +8 -41
  6. data/CHANGELOG.md +35 -2
  7. data/Gemfile +5 -3
  8. data/README.markdown +56 -62
  9. data/Rakefile +21 -45
  10. data/UPGRADE.md +39 -0
  11. data/bin/console +1 -0
  12. data/countries.gemspec +7 -6
  13. data/lib/countries/cache/countries.json +1 -1
  14. data/lib/countries/cache/locales/ab.json +1 -1
  15. data/lib/countries/cache/locales/af.json +1 -1
  16. data/lib/countries/cache/locales/ak.json +1 -1
  17. data/lib/countries/cache/locales/am.json +1 -1
  18. data/lib/countries/cache/locales/an.json +1 -1
  19. data/lib/countries/cache/locales/ar.json +1 -1
  20. data/lib/countries/cache/locales/as.json +1 -1
  21. data/lib/countries/cache/locales/ay.json +1 -1
  22. data/lib/countries/cache/locales/az.json +1 -1
  23. data/lib/countries/cache/locales/ba.json +1 -1
  24. data/lib/countries/cache/locales/be.json +1 -1
  25. data/lib/countries/cache/locales/bg.json +1 -1
  26. data/lib/countries/cache/locales/bi.json +1 -1
  27. data/lib/countries/cache/locales/bn-in.json +1 -1
  28. data/lib/countries/cache/locales/bn.json +1 -1
  29. data/lib/countries/cache/locales/br.json +1 -1
  30. data/lib/countries/cache/locales/bs.json +1 -1
  31. data/lib/countries/cache/locales/ca.json +1 -1
  32. data/lib/countries/cache/locales/ce.json +1 -1
  33. data/lib/countries/cache/locales/ch.json +1 -1
  34. data/lib/countries/cache/locales/cs.json +1 -1
  35. data/lib/countries/cache/locales/cv.json +1 -1
  36. data/lib/countries/cache/locales/cy.json +1 -1
  37. data/lib/countries/cache/locales/da.json +1 -1
  38. data/lib/countries/cache/locales/de.json +1 -1
  39. data/lib/countries/cache/locales/dv.json +1 -1
  40. data/lib/countries/cache/locales/dz.json +1 -1
  41. data/lib/countries/cache/locales/ee.json +1 -1
  42. data/lib/countries/cache/locales/el.json +1 -1
  43. data/lib/countries/cache/locales/en.json +1 -1
  44. data/lib/countries/cache/locales/eo.json +1 -1
  45. data/lib/countries/cache/locales/es.json +1 -1
  46. data/lib/countries/cache/locales/et.json +1 -1
  47. data/lib/countries/cache/locales/eu.json +1 -1
  48. data/lib/countries/cache/locales/fa.json +1 -1
  49. data/lib/countries/cache/locales/ff.json +1 -1
  50. data/lib/countries/cache/locales/fi.json +1 -1
  51. data/lib/countries/cache/locales/fo.json +1 -1
  52. data/lib/countries/cache/locales/fr.json +1 -1
  53. data/lib/countries/cache/locales/fy.json +1 -1
  54. data/lib/countries/cache/locales/ga.json +1 -1
  55. data/lib/countries/cache/locales/gl.json +1 -1
  56. data/lib/countries/cache/locales/gn.json +1 -1
  57. data/lib/countries/cache/locales/gu.json +1 -1
  58. data/lib/countries/cache/locales/gv.json +1 -1
  59. data/lib/countries/cache/locales/ha.json +1 -1
  60. data/lib/countries/cache/locales/he.json +1 -1
  61. data/lib/countries/cache/locales/hi.json +1 -1
  62. data/lib/countries/cache/locales/hr.json +1 -1
  63. data/lib/countries/cache/locales/ht.json +1 -1
  64. data/lib/countries/cache/locales/hu.json +1 -1
  65. data/lib/countries/cache/locales/hy.json +1 -1
  66. data/lib/countries/cache/locales/ia.json +1 -1
  67. data/lib/countries/cache/locales/id.json +1 -1
  68. data/lib/countries/cache/locales/io.json +1 -1
  69. data/lib/countries/cache/locales/is.json +1 -1
  70. data/lib/countries/cache/locales/it.json +1 -1
  71. data/lib/countries/cache/locales/iu.json +1 -1
  72. data/lib/countries/cache/locales/ja.json +1 -1
  73. data/lib/countries/cache/locales/ka.json +1 -1
  74. data/lib/countries/cache/locales/ki.json +1 -1
  75. data/lib/countries/cache/locales/kk.json +1 -1
  76. data/lib/countries/cache/locales/kl.json +1 -1
  77. data/lib/countries/cache/locales/km.json +1 -1
  78. data/lib/countries/cache/locales/kn.json +1 -1
  79. data/lib/countries/cache/locales/ko.json +1 -1
  80. data/lib/countries/cache/locales/kv.json +1 -1
  81. data/lib/countries/cache/locales/kw.json +1 -1
  82. data/lib/countries/cache/locales/ky.json +1 -1
  83. data/lib/countries/cache/locales/lo.json +1 -1
  84. data/lib/countries/cache/locales/lt.json +1 -1
  85. data/lib/countries/cache/locales/lv.json +1 -1
  86. data/lib/countries/cache/locales/mi.json +1 -1
  87. data/lib/countries/cache/locales/mk.json +1 -1
  88. data/lib/countries/cache/locales/ml.json +1 -1
  89. data/lib/countries/cache/locales/mn.json +1 -1
  90. data/lib/countries/cache/locales/mr.json +1 -1
  91. data/lib/countries/cache/locales/ms.json +1 -1
  92. data/lib/countries/cache/locales/mt.json +1 -1
  93. data/lib/countries/cache/locales/my.json +1 -1
  94. data/lib/countries/cache/locales/na.json +1 -1
  95. data/lib/countries/cache/locales/nb.json +1 -1
  96. data/lib/countries/cache/locales/ne.json +1 -1
  97. data/lib/countries/cache/locales/nl.json +1 -1
  98. data/lib/countries/cache/locales/nn.json +1 -1
  99. data/lib/countries/cache/locales/nv.json +1 -1
  100. data/lib/countries/cache/locales/oc.json +1 -1
  101. data/lib/countries/cache/locales/or.json +1 -1
  102. data/lib/countries/cache/locales/pa.json +1 -1
  103. data/lib/countries/cache/locales/pi.json +1 -1
  104. data/lib/countries/cache/locales/pl.json +1 -1
  105. data/lib/countries/cache/locales/ps.json +1 -1
  106. data/lib/countries/cache/locales/pt-br.json +1 -1
  107. data/lib/countries/cache/locales/pt.json +1 -1
  108. data/lib/countries/cache/locales/ro.json +1 -1
  109. data/lib/countries/cache/locales/ru.json +1 -1
  110. data/lib/countries/cache/locales/rw.json +1 -1
  111. data/lib/countries/cache/locales/sc.json +1 -1
  112. data/lib/countries/cache/locales/sd.json +1 -1
  113. data/lib/countries/cache/locales/si.json +1 -1
  114. data/lib/countries/cache/locales/sk.json +1 -1
  115. data/lib/countries/cache/locales/sl.json +1 -1
  116. data/lib/countries/cache/locales/so.json +1 -1
  117. data/lib/countries/cache/locales/sq.json +1 -1
  118. data/lib/countries/cache/locales/sr.json +1 -1
  119. data/lib/countries/cache/locales/sv.json +1 -1
  120. data/lib/countries/cache/locales/sw.json +1 -1
  121. data/lib/countries/cache/locales/ta.json +1 -1
  122. data/lib/countries/cache/locales/te.json +1 -1
  123. data/lib/countries/cache/locales/tg.json +1 -1
  124. data/lib/countries/cache/locales/th.json +1 -1
  125. data/lib/countries/cache/locales/ti.json +1 -1
  126. data/lib/countries/cache/locales/tk.json +1 -1
  127. data/lib/countries/cache/locales/tl.json +1 -1
  128. data/lib/countries/cache/locales/tr.json +1 -1
  129. data/lib/countries/cache/locales/tt.json +1 -1
  130. data/lib/countries/cache/locales/ug.json +1 -1
  131. data/lib/countries/cache/locales/uk.json +1 -1
  132. data/lib/countries/cache/locales/ur.json +1 -1
  133. data/lib/countries/cache/locales/uz.json +1 -1
  134. data/lib/countries/cache/locales/ve.json +1 -1
  135. data/lib/countries/cache/locales/vi.json +1 -1
  136. data/lib/countries/cache/locales/wa.json +1 -1
  137. data/lib/countries/cache/locales/wo.json +1 -1
  138. data/lib/countries/cache/locales/xh.json +1 -1
  139. data/lib/countries/cache/locales/yo.json +1 -1
  140. data/lib/countries/cache/locales/zh-cn.json +1 -1
  141. data/lib/countries/cache/locales/zh-hk.json +1 -1
  142. data/lib/countries/cache/locales/zh-tw.json +1 -1
  143. data/lib/countries/cache/locales/zu.json +1 -1
  144. data/lib/countries/configuration.rb +2 -0
  145. data/lib/countries/country/class_methods.rb +20 -103
  146. data/lib/countries/country/currency_methods.rb +2 -0
  147. data/lib/countries/country/emoji.rb +2 -3
  148. data/lib/countries/country/finder_methods.rb +81 -0
  149. data/lib/countries/country.rb +32 -43
  150. data/lib/countries/data/countries/KN.yaml +0 -1
  151. data/lib/countries/data/subdivisions/AD.yaml +14 -7
  152. data/lib/countries/data/subdivisions/AE.yaml +14 -7
  153. data/lib/countries/data/subdivisions/AF.yaml +196 -201
  154. data/lib/countries/data/subdivisions/AG.yaml +16 -22
  155. data/lib/countries/data/subdivisions/AL.yaml +24 -12
  156. data/lib/countries/data/subdivisions/AM.yaml +22 -11
  157. data/lib/countries/data/subdivisions/AO.yaml +36 -18
  158. data/lib/countries/data/subdivisions/AR.yaml +48 -24
  159. data/lib/countries/data/subdivisions/AT.yaml +18 -9
  160. data/lib/countries/data/subdivisions/AU.yaml +16 -8
  161. data/lib/countries/data/subdivisions/AZ.yaml +434 -412
  162. data/lib/countries/data/subdivisions/BA.yaml +75 -223
  163. data/lib/countries/data/subdivisions/BB.yaml +22 -11
  164. data/lib/countries/data/subdivisions/BD.yaml +188 -116
  165. data/lib/countries/data/subdivisions/BE.yaml +174 -161
  166. data/lib/countries/data/subdivisions/BF.yaml +2918 -2860
  167. data/lib/countries/data/subdivisions/BG.yaml +56 -28
  168. data/lib/countries/data/subdivisions/BH.yaml +8 -21
  169. data/lib/countries/data/subdivisions/BI.yaml +176 -157
  170. data/lib/countries/data/subdivisions/BJ.yaml +24 -12
  171. data/lib/countries/data/subdivisions/BN.yaml +8 -4
  172. data/lib/countries/data/subdivisions/BO.yaml +18 -9
  173. data/lib/countries/data/subdivisions/BQ.yaml +6 -3
  174. data/lib/countries/data/subdivisions/BR.yaml +54 -27
  175. data/lib/countries/data/subdivisions/BS.yaml +575 -697
  176. data/lib/countries/data/subdivisions/BT.yaml +40 -20
  177. data/lib/countries/data/subdivisions/BW.yaml +337 -321
  178. data/lib/countries/data/subdivisions/BY.yaml +106 -116
  179. data/lib/countries/data/subdivisions/BZ.yaml +12 -6
  180. data/lib/countries/data/subdivisions/CA.yaml +26 -13
  181. data/lib/countries/data/subdivisions/CD.yaml +488 -525
  182. data/lib/countries/data/subdivisions/CF.yaml +34 -17
  183. data/lib/countries/data/subdivisions/CG.yaml +40 -28
  184. data/lib/countries/data/subdivisions/CH.yaml +52 -26
  185. data/lib/countries/data/subdivisions/CI.yaml +244 -516
  186. data/lib/countries/data/subdivisions/CL.yaml +81 -65
  187. data/lib/countries/data/subdivisions/CM.yaml +20 -10
  188. data/lib/countries/data/subdivisions/CN.yaml +2152 -2084
  189. data/lib/countries/data/subdivisions/CO.yaml +66 -33
  190. data/lib/countries/data/subdivisions/CR.yaml +14 -7
  191. data/lib/countries/data/subdivisions/CU.yaml +32 -16
  192. data/lib/countries/data/subdivisions/CV.yaml +427 -401
  193. data/lib/countries/data/subdivisions/CY.yaml +12 -6
  194. data/lib/countries/data/subdivisions/CZ.yaml +1116 -85
  195. data/lib/countries/data/subdivisions/DE.yaml +32 -16
  196. data/lib/countries/data/subdivisions/DJ.yaml +12 -6
  197. data/lib/countries/data/subdivisions/DK.yaml +25 -17
  198. data/lib/countries/data/subdivisions/DM.yaml +20 -10
  199. data/lib/countries/data/subdivisions/DO.yaml +84 -42
  200. data/lib/countries/data/subdivisions/DZ.yaml +96 -48
  201. data/lib/countries/data/subdivisions/EC.yaml +158 -134
  202. data/lib/countries/data/subdivisions/EE.yaml +501 -334
  203. data/lib/countries/data/subdivisions/EG.yaml +54 -27
  204. data/lib/countries/data/subdivisions/ER.yaml +12 -6
  205. data/lib/countries/data/subdivisions/ES.yaml +1459 -1390
  206. data/lib/countries/data/subdivisions/ET.yaml +22 -11
  207. data/lib/countries/data/subdivisions/FI.yaml +185 -1
  208. data/lib/countries/data/subdivisions/FJ.yaml +443 -424
  209. data/lib/countries/data/subdivisions/FM.yaml +8 -4
  210. data/lib/countries/data/subdivisions/FR.yaml +438 -275
  211. data/lib/countries/data/subdivisions/GA.yaml +18 -9
  212. data/lib/countries/data/subdivisions/GB.yaml +1185 -1708
  213. data/lib/countries/data/subdivisions/GD.yaml +14 -7
  214. data/lib/countries/data/subdivisions/GE.yaml +24 -12
  215. data/lib/countries/data/subdivisions/GH.yaml +114 -155
  216. data/lib/countries/data/subdivisions/GL.yaml +24 -79
  217. data/lib/countries/data/subdivisions/GM.yaml +12 -6
  218. data/lib/countries/data/subdivisions/GN.yaml +444 -403
  219. data/lib/countries/data/subdivisions/GQ.yaml +24 -13
  220. data/lib/countries/data/subdivisions/GR.yaml +114 -73
  221. data/lib/countries/data/subdivisions/GT.yaml +44 -22
  222. data/lib/countries/data/subdivisions/GW.yaml +69 -57
  223. data/lib/countries/data/subdivisions/GY.yaml +20 -10
  224. data/lib/countries/data/subdivisions/HN.yaml +36 -18
  225. data/lib/countries/data/subdivisions/HR.yaml +42 -21
  226. data/lib/countries/data/subdivisions/HT.yaml +73 -63
  227. data/lib/countries/data/subdivisions/HU.yaml +106 -63
  228. data/lib/countries/data/subdivisions/ID.yaml +229 -188
  229. data/lib/countries/data/subdivisions/IE.yaml +128 -97
  230. data/lib/countries/data/subdivisions/IL.yaml +12 -6
  231. data/lib/countries/data/subdivisions/IN.yaml +245 -396
  232. data/lib/countries/data/subdivisions/IQ.yaml +111 -91
  233. data/lib/countries/data/subdivisions/IR.yaml +1463 -1451
  234. data/lib/countries/data/subdivisions/IS.yaml +160 -25
  235. data/lib/countries/data/subdivisions/IT.yaml +8740 -8292
  236. data/lib/countries/data/subdivisions/JM.yaml +28 -14
  237. data/lib/countries/data/subdivisions/JO.yaml +24 -12
  238. data/lib/countries/data/subdivisions/JP.yaml +94 -47
  239. data/lib/countries/data/subdivisions/KE.yaml +95 -48
  240. data/lib/countries/data/subdivisions/KG.yaml +95 -86
  241. data/lib/countries/data/subdivisions/KH.yaml +64 -39
  242. data/lib/countries/data/subdivisions/KI.yaml +6 -3
  243. data/lib/countries/data/subdivisions/KM.yaml +6 -3
  244. data/lib/countries/data/subdivisions/KN.yaml +32 -16
  245. data/lib/countries/data/subdivisions/KP.yaml +24 -227
  246. data/lib/countries/data/subdivisions/KR.yaml +34 -17
  247. data/lib/countries/data/subdivisions/KW.yaml +12 -6
  248. data/lib/countries/data/subdivisions/KZ.yaml +47 -102
  249. data/lib/countries/data/subdivisions/LA.yaml +36 -34
  250. data/lib/countries/data/subdivisions/LB.yaml +71 -63
  251. data/lib/countries/data/subdivisions/LC.yaml +116 -106
  252. data/lib/countries/data/subdivisions/LI.yaml +22 -11
  253. data/lib/countries/data/subdivisions/LK.yaml +445 -411
  254. data/lib/countries/data/subdivisions/LR.yaml +146 -129
  255. data/lib/countries/data/subdivisions/LS.yaml +20 -10
  256. data/lib/countries/data/subdivisions/LT.yaml +1706 -1636
  257. data/lib/countries/data/subdivisions/LU.yaml +24 -12
  258. data/lib/countries/data/subdivisions/LV.yaml +1623 -1577
  259. data/lib/countries/data/subdivisions/LY.yaml +44 -22
  260. data/lib/countries/data/subdivisions/MA.yaml +810 -1589
  261. data/lib/countries/data/subdivisions/MC.yaml +261 -244
  262. data/lib/countries/data/subdivisions/MD.yaml +74 -79
  263. data/lib/countries/data/subdivisions/ME.yaml +217 -195
  264. data/lib/countries/data/subdivisions/MG.yaml +12 -6
  265. data/lib/countries/data/subdivisions/MH.yaml +167 -140
  266. data/lib/countries/data/subdivisions/MK.yaml +160 -80
  267. data/lib/countries/data/subdivisions/ML.yaml +48 -37
  268. data/lib/countries/data/subdivisions/MM.yaml +30 -15
  269. data/lib/countries/data/subdivisions/MN.yaml +44 -22
  270. data/lib/countries/data/subdivisions/MR.yaml +30 -34
  271. data/lib/countries/data/subdivisions/MT.yaml +136 -68
  272. data/lib/countries/data/subdivisions/MU.yaml +24 -262
  273. data/lib/countries/data/subdivisions/MV.yaml +161 -254
  274. data/lib/countries/data/subdivisions/MW.yaml +250 -219
  275. data/lib/countries/data/subdivisions/MX.yaml +67 -47
  276. data/lib/countries/data/subdivisions/MY.yaml +32 -16
  277. data/lib/countries/data/subdivisions/MZ.yaml +22 -11
  278. data/lib/countries/data/subdivisions/NA.yaml +58 -44
  279. data/lib/countries/data/subdivisions/NE.yaml +16 -8
  280. data/lib/countries/data/subdivisions/NG.yaml +74 -37
  281. data/lib/countries/data/subdivisions/NI.yaml +34 -17
  282. data/lib/countries/data/subdivisions/NL.yaml +303 -285
  283. data/lib/countries/data/subdivisions/NO.yaml +39 -17
  284. data/lib/countries/data/subdivisions/NP.yaml +302 -276
  285. data/lib/countries/data/subdivisions/NR.yaml +28 -14
  286. data/lib/countries/data/subdivisions/NZ.yaml +34 -17
  287. data/lib/countries/data/subdivisions/OM.yaml +260 -311
  288. data/lib/countries/data/subdivisions/PA.yaml +57 -44
  289. data/lib/countries/data/subdivisions/PE.yaml +107 -81
  290. data/lib/countries/data/subdivisions/PG.yaml +163 -158
  291. data/lib/countries/data/subdivisions/PH.yaml +5062 -4992
  292. data/lib/countries/data/subdivisions/PK.yaml +145 -235
  293. data/lib/countries/data/subdivisions/PL.yaml +51 -3
  294. data/lib/countries/data/subdivisions/PS.yaml +32 -16
  295. data/lib/countries/data/subdivisions/PT.yaml +53 -33
  296. data/lib/countries/data/subdivisions/PW.yaml +32 -16
  297. data/lib/countries/data/subdivisions/PY.yaml +36 -18
  298. data/lib/countries/data/subdivisions/QA.yaml +27 -78
  299. data/lib/countries/data/subdivisions/RO.yaml +84 -42
  300. data/lib/countries/data/subdivisions/RS.yaml +104 -72
  301. data/lib/countries/data/subdivisions/RU.yaml +166 -83
  302. data/lib/countries/data/subdivisions/RW.yaml +10 -5
  303. data/lib/countries/data/subdivisions/SA.yaml +26 -13
  304. data/lib/countries/data/subdivisions/SB.yaml +20 -10
  305. data/lib/countries/data/subdivisions/SC.yaml +54 -25
  306. data/lib/countries/data/subdivisions/SD.yaml +798 -780
  307. data/lib/countries/data/subdivisions/SE.yaml +42 -21
  308. data/lib/countries/data/subdivisions/SG.yaml +15 -10
  309. data/lib/countries/data/subdivisions/SH.yaml +21 -32
  310. data/lib/countries/data/subdivisions/SI.yaml +475 -263
  311. data/lib/countries/data/subdivisions/SK.yaml +16 -8
  312. data/lib/countries/data/subdivisions/SL.yaml +23 -18
  313. data/lib/countries/data/subdivisions/SM.yaml +18 -9
  314. data/lib/countries/data/subdivisions/SN.yaml +188 -174
  315. data/lib/countries/data/subdivisions/SO.yaml +36 -18
  316. data/lib/countries/data/subdivisions/SR.yaml +20 -10
  317. data/lib/countries/data/subdivisions/SS.yaml +20 -10
  318. data/lib/countries/data/subdivisions/ST.yaml +38 -52
  319. data/lib/countries/data/subdivisions/SV.yaml +28 -14
  320. data/lib/countries/data/subdivisions/SY.yaml +28 -14
  321. data/lib/countries/data/subdivisions/SZ.yaml +8 -4
  322. data/lib/countries/data/subdivisions/TD.yaml +312 -303
  323. data/lib/countries/data/subdivisions/TG.yaml +10 -5
  324. data/lib/countries/data/subdivisions/TH.yaml +211 -133
  325. data/lib/countries/data/subdivisions/TJ.yaml +161 -156
  326. data/lib/countries/data/subdivisions/TL.yaml +26 -13
  327. data/lib/countries/data/subdivisions/TM.yaml +12 -6
  328. data/lib/countries/data/subdivisions/TN.yaml +48 -24
  329. data/lib/countries/data/subdivisions/TO.yaml +10 -5
  330. data/lib/countries/data/subdivisions/TR.yaml +162 -81
  331. data/lib/countries/data/subdivisions/TT.yaml +128 -160
  332. data/lib/countries/data/subdivisions/TV.yaml +57 -63
  333. data/lib/countries/data/subdivisions/TW.yaml +143 -183
  334. data/lib/countries/data/subdivisions/TZ.yaml +62 -31
  335. data/lib/countries/data/subdivisions/UA.yaml +55 -28
  336. data/lib/countries/data/subdivisions/UG.yaml +4806 -4660
  337. data/lib/countries/data/subdivisions/UM.yaml +18 -9
  338. data/lib/countries/data/subdivisions/US.yaml +114 -57
  339. data/lib/countries/data/subdivisions/UY.yaml +99 -80
  340. data/lib/countries/data/subdivisions/UZ.yaml +28 -14
  341. data/lib/countries/data/subdivisions/VC.yaml +12 -6
  342. data/lib/countries/data/subdivisions/VE.yaml +50 -25
  343. data/lib/countries/data/subdivisions/VN.yaml +3576 -3513
  344. data/lib/countries/data/subdivisions/VU.yaml +12 -6
  345. data/lib/countries/data/subdivisions/WF.yaml +6 -3
  346. data/lib/countries/data/subdivisions/WS.yaml +22 -11
  347. data/lib/countries/data/subdivisions/YE.yaml +222 -200
  348. data/lib/countries/data/subdivisions/ZA.yaml +86 -100
  349. data/lib/countries/data/subdivisions/ZM.yaml +20 -10
  350. data/lib/countries/data/subdivisions/ZW.yaml +20 -10
  351. data/lib/countries/data/translations/countries-ab.yaml +254 -0
  352. data/lib/countries/data/translations/countries-af.yaml +254 -0
  353. data/lib/countries/data/translations/countries-ak.yaml +254 -0
  354. data/lib/countries/data/translations/countries-am.yaml +254 -0
  355. data/lib/countries/data/translations/countries-an.yaml +254 -0
  356. data/lib/countries/data/translations/countries-ar.yaml +254 -0
  357. data/lib/countries/data/translations/countries-as.yaml +254 -0
  358. data/lib/countries/data/translations/countries-ay.yaml +254 -0
  359. data/lib/countries/data/translations/countries-az.yaml +254 -0
  360. data/lib/countries/data/translations/countries-ba.yaml +254 -0
  361. data/lib/countries/data/translations/countries-be.yaml +254 -0
  362. data/lib/countries/data/translations/countries-bg.yaml +254 -0
  363. data/lib/countries/data/translations/countries-bi.yaml +254 -0
  364. data/lib/countries/data/translations/countries-bn.yaml +254 -0
  365. data/lib/countries/data/translations/countries-bn_IN.yaml +254 -0
  366. data/lib/countries/data/translations/countries-br.yaml +254 -0
  367. data/lib/countries/data/translations/countries-bs.yaml +254 -0
  368. data/lib/countries/data/translations/countries-ca.yaml +254 -0
  369. data/lib/countries/data/translations/countries-ce.yaml +254 -0
  370. data/lib/countries/data/translations/countries-ch.yaml +254 -0
  371. data/lib/countries/data/translations/countries-cs.yaml +254 -0
  372. data/lib/countries/data/translations/countries-cv.yaml +254 -0
  373. data/lib/countries/data/translations/countries-cy.yaml +254 -0
  374. data/lib/countries/data/translations/countries-da.yaml +254 -0
  375. data/lib/countries/data/translations/countries-de.yaml +254 -0
  376. data/lib/countries/data/translations/countries-dv.yaml +254 -0
  377. data/lib/countries/data/translations/countries-dz.yaml +254 -0
  378. data/lib/countries/data/translations/countries-ee.yaml +254 -0
  379. data/lib/countries/data/translations/countries-el.yaml +254 -0
  380. data/lib/countries/data/translations/countries-en.yaml +254 -0
  381. data/lib/countries/data/translations/countries-eo.yaml +254 -0
  382. data/lib/countries/data/translations/countries-es.yaml +254 -0
  383. data/lib/countries/data/translations/countries-et.yaml +254 -0
  384. data/lib/countries/data/translations/countries-eu.yaml +254 -0
  385. data/lib/countries/data/translations/countries-fa.yaml +254 -0
  386. data/lib/countries/data/translations/countries-ff.yaml +254 -0
  387. data/lib/countries/data/translations/countries-fi.yaml +254 -0
  388. data/lib/countries/data/translations/countries-fo.yaml +254 -0
  389. data/lib/countries/data/translations/countries-fr.yaml +254 -0
  390. data/lib/countries/data/translations/countries-fy.yaml +254 -0
  391. data/lib/countries/data/translations/countries-ga.yaml +254 -0
  392. data/lib/countries/data/translations/countries-gl.yaml +254 -0
  393. data/lib/countries/data/translations/countries-gn.yaml +254 -0
  394. data/lib/countries/data/translations/countries-gu.yaml +254 -0
  395. data/lib/countries/data/translations/countries-gv.yaml +254 -0
  396. data/lib/countries/data/translations/countries-ha.yaml +254 -0
  397. data/lib/countries/data/translations/countries-he.yaml +254 -0
  398. data/lib/countries/data/translations/countries-hi.yaml +254 -0
  399. data/lib/countries/data/translations/countries-hr.yaml +254 -0
  400. data/lib/countries/data/translations/countries-ht.yaml +254 -0
  401. data/lib/countries/data/translations/countries-hu.yaml +254 -0
  402. data/lib/countries/data/translations/countries-hy.yaml +254 -0
  403. data/lib/countries/data/translations/countries-ia.yaml +254 -0
  404. data/lib/countries/data/translations/countries-id.yaml +254 -0
  405. data/lib/countries/data/translations/countries-io.yaml +254 -0
  406. data/lib/countries/data/translations/countries-is.yaml +254 -0
  407. data/lib/countries/data/translations/countries-it.yaml +254 -0
  408. data/lib/countries/data/translations/countries-iu.yaml +254 -0
  409. data/lib/countries/data/translations/countries-ja.yaml +254 -0
  410. data/lib/countries/data/translations/countries-ka.yaml +254 -0
  411. data/lib/countries/data/translations/countries-ki.yaml +254 -0
  412. data/lib/countries/data/translations/countries-kk.yaml +254 -0
  413. data/lib/countries/data/translations/countries-kl.yaml +254 -0
  414. data/lib/countries/data/translations/countries-km.yaml +254 -0
  415. data/lib/countries/data/translations/countries-kn.yaml +254 -0
  416. data/lib/countries/data/translations/countries-ko.yaml +254 -0
  417. data/lib/countries/data/translations/countries-ku.yaml +254 -0
  418. data/lib/countries/data/translations/countries-kv.yaml +254 -0
  419. data/lib/countries/data/translations/countries-kw.yaml +254 -0
  420. data/lib/countries/data/translations/countries-ky.yaml +254 -0
  421. data/lib/countries/data/translations/countries-lo.yaml +254 -0
  422. data/lib/countries/data/translations/countries-lt.yaml +254 -0
  423. data/lib/countries/data/translations/countries-lv.yaml +254 -0
  424. data/lib/countries/data/translations/countries-mi.yaml +254 -0
  425. data/lib/countries/data/translations/countries-mk.yaml +254 -0
  426. data/lib/countries/data/translations/countries-ml.yaml +254 -0
  427. data/lib/countries/data/translations/countries-mn.yaml +254 -0
  428. data/lib/countries/data/translations/countries-mr.yaml +254 -0
  429. data/lib/countries/data/translations/countries-ms.yaml +254 -0
  430. data/lib/countries/data/translations/countries-mt.yaml +254 -0
  431. data/lib/countries/data/translations/countries-my.yaml +254 -0
  432. data/lib/countries/data/translations/countries-na.yaml +254 -0
  433. data/lib/countries/data/translations/countries-nb.yaml +254 -0
  434. data/lib/countries/data/translations/countries-ne.yaml +254 -0
  435. data/lib/countries/data/translations/countries-nl.yaml +254 -0
  436. data/lib/countries/data/translations/countries-nn.yaml +254 -0
  437. data/lib/countries/data/translations/countries-nv.yaml +254 -0
  438. data/lib/countries/data/translations/countries-oc.yaml +254 -0
  439. data/lib/countries/data/translations/countries-or.yaml +254 -0
  440. data/lib/countries/data/translations/countries-pa.yaml +254 -0
  441. data/lib/countries/data/translations/countries-pi.yaml +254 -0
  442. data/lib/countries/data/translations/countries-pl.yaml +254 -0
  443. data/lib/countries/data/translations/countries-ps.yaml +254 -0
  444. data/lib/countries/data/translations/countries-pt.yaml +254 -0
  445. data/lib/countries/data/translations/countries-pt_BR.yaml +254 -0
  446. data/lib/countries/data/translations/countries-ro.yaml +254 -0
  447. data/lib/countries/data/translations/countries-ru.yaml +254 -0
  448. data/lib/countries/data/translations/countries-rw.yaml +254 -0
  449. data/lib/countries/data/translations/countries-sc.yaml +254 -0
  450. data/lib/countries/data/translations/countries-sd.yaml +254 -0
  451. data/lib/countries/data/translations/countries-si.yaml +254 -0
  452. data/lib/countries/data/translations/countries-sk.yaml +254 -0
  453. data/lib/countries/data/translations/countries-sl.yaml +254 -0
  454. data/lib/countries/data/translations/countries-so.yaml +254 -0
  455. data/lib/countries/data/translations/countries-sq.yaml +254 -0
  456. data/lib/countries/data/translations/countries-sr.yaml +254 -0
  457. data/lib/countries/data/translations/countries-sv.yaml +254 -0
  458. data/lib/countries/data/translations/countries-sw.yaml +254 -0
  459. data/lib/countries/data/translations/countries-ta.yaml +254 -0
  460. data/lib/countries/data/translations/countries-te.yaml +254 -0
  461. data/lib/countries/data/translations/countries-tg.yaml +254 -0
  462. data/lib/countries/data/translations/countries-th.yaml +254 -0
  463. data/lib/countries/data/translations/countries-ti.yaml +254 -0
  464. data/lib/countries/data/translations/countries-tk.yaml +254 -0
  465. data/lib/countries/data/translations/countries-tl.yaml +254 -0
  466. data/lib/countries/data/translations/countries-tr.yaml +254 -0
  467. data/lib/countries/data/translations/countries-tt.yaml +254 -0
  468. data/lib/countries/data/translations/countries-ug.yaml +254 -0
  469. data/lib/countries/data/translations/countries-uk.yaml +254 -0
  470. data/lib/countries/data/translations/countries-ur.yaml +254 -0
  471. data/lib/countries/data/translations/countries-uz.yaml +254 -0
  472. data/lib/countries/data/translations/countries-ve.yaml +254 -0
  473. data/lib/countries/data/translations/countries-vi.yaml +254 -0
  474. data/lib/countries/data/translations/countries-wa.yaml +254 -0
  475. data/lib/countries/data/translations/countries-wo.yaml +254 -0
  476. data/lib/countries/data/translations/countries-xh.yaml +254 -0
  477. data/lib/countries/data/translations/countries-yo.yaml +254 -0
  478. data/lib/countries/data/translations/countries-zh_CN.yaml +254 -0
  479. data/lib/countries/data/translations/countries-zh_HK.yaml +254 -0
  480. data/lib/countries/data/translations/countries-zh_TW.yaml +254 -0
  481. data/lib/countries/data/translations/countries-zu.yaml +254 -0
  482. data/lib/countries/data.rb +45 -42
  483. data/lib/countries/global.rb +2 -0
  484. data/lib/countries/iso3166.rb +3 -1
  485. data/lib/countries/kwarg_struct.rb +2 -0
  486. data/lib/countries/mongoid.rb +2 -0
  487. data/lib/countries/sources/cldr/downloader.rb +8 -8
  488. data/lib/countries/sources/cldr/subdivision.rb +3 -0
  489. data/lib/countries/sources/cldr/subdivision_updater.rb +23 -17
  490. data/lib/countries/sources/local/cached_loader.rb +3 -0
  491. data/lib/countries/sources/local/subdivision.rb +5 -2
  492. data/lib/countries/sources.rb +2 -0
  493. data/lib/countries/structure.rb +1 -1
  494. data/lib/countries/subdivision.rb +21 -8
  495. data/lib/countries/tasks/geocoding.rake +15 -6
  496. data/lib/countries/tasks/postal_codes.rake +5 -3
  497. data/lib/countries/timezones.rb +5 -2
  498. data/lib/countries/translations.rb +2 -0
  499. data/lib/countries/version.rb +3 -1
  500. data/lib/countries.rb +2 -0
  501. data/spec/00_global_spec.rb +2 -0
  502. data/spec/configuration_spec.rb +11 -5
  503. data/spec/country_spec.rb +131 -38
  504. data/spec/data_spec.rb +85 -21
  505. data/spec/mongoid_spec.rb +2 -2
  506. data/spec/perf_spec.rb +16 -16
  507. data/spec/spec_helper.rb +2 -0
  508. data/spec/subdivision_spec.rb +6 -4
  509. data/spec/thread_safety_spec.rb +4 -3
  510. data/spec/timezone_spec.rb +2 -0
  511. metadata +146 -34
  512. data/lib/countries/cache/locales/zh.json +0 -1
  513. data/lib/countries/data/subdivisions/AI.yaml +0 -197
  514. data/lib/countries/data/subdivisions/BM.yaml +0 -155
  515. data/lib/countries/data/subdivisions/CK.yaml +0 -155
  516. data/lib/countries/data/subdivisions/EH.yaml +0 -80
  517. data/lib/countries/data/subdivisions/SJ.yaml +0 -29
  518. data/lib/countries/data/subdivisions/TK.yaml +0 -43
  519. data/lib/countries/data/translation_corrections.yaml +0 -51
  520. data/lib/countries/setup.rb +0 -18
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  BA:
3
3
  name: Banghazi
4
- code:
4
+ code: BA
5
5
  unofficial_names: Banghazi
6
6
  geo:
7
7
  latitude: 32.116667
@@ -79,9 +79,10 @@ BA:
79
79
  bs: Bengazi
80
80
  'no': Benghazi
81
81
  comments:
82
+ type: popularate
82
83
  BU:
83
84
  name: Al Butnan
84
- code:
85
+ code: BU
85
86
  unofficial_names: Al Butnan
86
87
  geo:
87
88
  latitude: 29.7579854
@@ -139,9 +140,10 @@ BU:
139
140
  be: Эль-Бутнан
140
141
  'no': Al Butnan
141
142
  comments:
143
+ type: popularate
142
144
  DR:
143
145
  name: Darnah
144
- code:
146
+ code: DR
145
147
  unofficial_names: Darnah
146
148
  geo:
147
149
  latitude: 32.766667
@@ -182,9 +184,10 @@ DR:
182
184
  ccp: "\U00011113\U00011122\U00011134\U0001111A"
183
185
  'no': Darnah
184
186
  comments:
187
+ type: popularate
185
188
  GT:
186
189
  name: Ghat
187
- code:
190
+ code: GT
188
191
  unofficial_names: Ghat
189
192
  geo:
190
193
  latitude: 24.9640371
@@ -238,9 +241,10 @@ GT:
238
241
  ccp: "\U0001110A\U00011116\U00011134"
239
242
  'no': Ghat
240
243
  comments:
244
+ type: popularate
241
245
  JA:
242
246
  name: Al Jabal al Akhḑar
243
- code:
247
+ code: JA
244
248
  unofficial_names: Al Jabal al Akhḑar
245
249
  geo:
246
250
  latitude: 32.4032332
@@ -295,9 +299,10 @@ JA:
295
299
  \U00011103\U00011107\U00011134\U00011113\U00011122\U00011134"
296
300
  'no': Al Jabal al Akhdar
297
301
  comments:
302
+ type: popularate
298
303
  JG:
299
304
  name: Al Jabal al Gharbī
300
- code:
305
+ code: JG
301
306
  unofficial_names: Al Jabal al Gharbī
302
307
  geo:
303
308
  latitude:
@@ -333,9 +338,10 @@ JG:
333
338
  \U0001110A\U00011122\U00011134\U0001111D\U00011128"
334
339
  pt: Jabal Algarbi
335
340
  comments:
341
+ type: popularate
336
342
  JI:
337
343
  name: Al Jifarah
338
- code:
344
+ code: JI
339
345
  unofficial_names: Al Jifarah
340
346
  geo:
341
347
  latitude: 32.4525904
@@ -390,9 +396,10 @@ JI:
390
396
  ccp: "\U0001110E\U0001111C\U00011127\U00011122\U00011134"
391
397
  'no': Al Jfara
392
398
  comments:
399
+ type: popularate
393
400
  JU:
394
401
  name: Al Jufrah
395
- code:
402
+ code: JU
396
403
  unofficial_names:
397
404
  - Al Jufrah
398
405
  - Jofra
@@ -451,9 +458,10 @@ JU:
451
458
  ccp: "\U0001110E\U0001112A\U0001111C\U00011133\U00011122"
452
459
  'no': Al Jufrah
453
460
  comments:
461
+ type: popularate
454
462
  KF:
455
463
  name: Al Kufrah
456
- code:
464
+ code: KF
457
465
  unofficial_names:
458
466
  - Al Kufrah
459
467
  - Kofra
@@ -514,9 +522,10 @@ KF:
514
522
  ccp: "\U00011107\U0001112A\U0001111C\U00011133\U00011122"
515
523
  'no': Al Kufrah
516
524
  comments:
525
+ type: popularate
517
526
  MB:
518
527
  name: Al Murqub
519
- code:
528
+ code: MB
520
529
  unofficial_names:
521
530
  - Al Murqub
522
531
  - Al Marqab
@@ -575,9 +584,10 @@ MB:
575
584
  ccp: "\U0001111F\U0001112A\U00011122\U00011134\U00011107\U0001112A\U0001111B\U00011134"
576
585
  'no': Al Murgub
577
586
  comments:
587
+ type: popularate
578
588
  MI:
579
589
  name: Mişrātah
580
- code:
590
+ code: MI
581
591
  unofficial_names:
582
592
  - Mişrātah
583
593
  - Misurata
@@ -636,9 +646,10 @@ MI:
636
646
  ccp: "\U0001111F\U00011128\U00011125\U00011133\U00011122\U00011127\U00011116"
637
647
  'no': Misrata distrikt
638
648
  comments:
649
+ type: popularate
639
650
  MJ:
640
651
  name: Al Marj
641
- code:
652
+ code: MJ
642
653
  unofficial_names:
643
654
  - Al Marj
644
655
  - The Meadows
@@ -696,9 +707,10 @@ MJ:
696
707
  ccp: "\U0001111F\U00011122\U00011134\U0001110E\U00011134"
697
708
  'no': Al Marj
698
709
  comments:
710
+ type: popularate
699
711
  MQ:
700
712
  name: Murzuq
701
- code:
713
+ code: MQ
702
714
  unofficial_names: Murzuq
703
715
  geo:
704
716
  latitude: 25.9182262
@@ -755,9 +767,10 @@ MQ:
755
767
  hy: Մարզուկ
756
768
  'no': Murzuq distrikt
757
769
  comments:
770
+ type: popularate
758
771
  NL:
759
772
  name: Nālūt
760
- code:
773
+ code: NL
761
774
  unofficial_names: Nālūt
762
775
  geo:
763
776
  latitude: 31.868333
@@ -797,9 +810,10 @@ NL:
797
810
  ccp: "\U0001111A\U00011123\U0001112A\U00011116\U00011134"
798
811
  'no': Nalut
799
812
  comments:
813
+ type: popularate
800
814
  NQ:
801
815
  name: An Nuqaţ al Khams
802
- code:
816
+ code: NQ
803
817
  unofficial_names:
804
818
  - An Nuqaţ al Khams
805
819
  - Nuqāṭ al Ḫams
@@ -859,9 +873,10 @@ NQ:
859
873
  \U00011108\U0001111F\U00011134\U0001110C\U00011134"
860
874
  'no': An Nuqat al Khams
861
875
  comments:
876
+ type: popularate
862
877
  SB:
863
878
  name: Sabhā
864
- code:
879
+ code: SB
865
880
  unofficial_names: Sabhā
866
881
  geo:
867
882
  latitude: 27.038889
@@ -916,9 +931,10 @@ SB:
916
931
  ccp: "\U00011125\U0001111E"
917
932
  'no': Sabha
918
933
  comments:
934
+ type: popularate
919
935
  SR:
920
936
  name: Sirte
921
- code:
937
+ code: SR
922
938
  unofficial_names:
923
939
  - Sirt
924
940
  - Surt
@@ -961,9 +977,10 @@ SR:
961
977
  ccp: "\U00011125\U00011128\U00011122\U00011134\U00011111\U0001112C"
962
978
  'no': Surt
963
979
  comments:
980
+ type: popularate
964
981
  TB:
965
982
  name: Tarabulus
966
- code:
983
+ code: TB
967
984
  unofficial_names:
968
985
  - Ţarābulus
969
986
  - Tripoli
@@ -1002,9 +1019,10 @@ TB:
1002
1019
  hy: Տարաբուլուս
1003
1020
  pt: Trípoli
1004
1021
  comments:
1022
+ type: popularate
1005
1023
  WA:
1006
1024
  name: Al Wahat
1007
- code:
1025
+ code: WA
1008
1026
  unofficial_names:
1009
1027
  - Al Wahat
1010
1028
  - The Oases
@@ -1049,9 +1067,10 @@ WA:
1049
1067
  ccp: "\U00011103\U00011123\U00011134 \U00011124\U00011126\U00011116\U00011134"
1050
1068
  'no': Al Wahat
1051
1069
  comments:
1070
+ type: popularate
1052
1071
  WD:
1053
1072
  name: Wādī al Ḩayāt
1054
- code:
1073
+ code: WD
1055
1074
  unofficial_names: Wādī al Ḩayāt
1056
1075
  geo:
1057
1076
  latitude: 29.5240753
@@ -1106,9 +1125,10 @@ WD:
1106
1125
  ccp: "\U00011124\U00011113\U00011128 \U00011103\U00011123\U00011134 \U00011126\U00011120"
1107
1126
  'no': Wadi Al Hayaa
1108
1127
  comments:
1128
+ type: popularate
1109
1129
  WS:
1110
1130
  name: Wādī ash Shāţiʾ
1111
- code:
1131
+ code: WS
1112
1132
  unofficial_names: Wādī ash Shāţiʾ
1113
1133
  geo:
1114
1134
  latitude:
@@ -1163,9 +1183,10 @@ WS:
1163
1183
  hy: Վադի ալ-Շատի
1164
1184
  'no': Wadi al Shatii distrikt
1165
1185
  comments:
1186
+ type: popularate
1166
1187
  ZA:
1167
1188
  name: Az Zawiyah
1168
- code:
1189
+ code: ZA
1169
1190
  unofficial_names: Az Zawiyah
1170
1191
  geo:
1171
1192
  latitude: 32.5394906
@@ -1220,3 +1241,4 @@ ZA:
1220
1241
  ccp: "\U0001110E\U00011103\U00011128\U00011120"
1221
1242
  'no': Az Zawiyah
1222
1243
  comments:
1244
+ type: popularate