countries 5.0.2 → 5.1.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 (498) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/README.markdown +16 -7
  4. data/Rakefile +15 -21
  5. data/UPGRADE.md +15 -2
  6. data/countries.gemspec +0 -1
  7. data/lib/countries/cache/countries.json +1 -1
  8. data/lib/countries/cache/locales/ab.json +1 -1
  9. data/lib/countries/cache/locales/af.json +1 -1
  10. data/lib/countries/cache/locales/ak.json +1 -1
  11. data/lib/countries/cache/locales/am.json +1 -1
  12. data/lib/countries/cache/locales/an.json +1 -1
  13. data/lib/countries/cache/locales/ar.json +1 -1
  14. data/lib/countries/cache/locales/as.json +1 -1
  15. data/lib/countries/cache/locales/ay.json +1 -1
  16. data/lib/countries/cache/locales/az.json +1 -1
  17. data/lib/countries/cache/locales/ba.json +1 -1
  18. data/lib/countries/cache/locales/be.json +1 -1
  19. data/lib/countries/cache/locales/bg.json +1 -1
  20. data/lib/countries/cache/locales/bi.json +1 -1
  21. data/lib/countries/cache/locales/bn-in.json +1 -1
  22. data/lib/countries/cache/locales/bn.json +1 -1
  23. data/lib/countries/cache/locales/br.json +1 -1
  24. data/lib/countries/cache/locales/bs.json +1 -1
  25. data/lib/countries/cache/locales/ca.json +1 -1
  26. data/lib/countries/cache/locales/ce.json +1 -1
  27. data/lib/countries/cache/locales/ch.json +1 -1
  28. data/lib/countries/cache/locales/cs.json +1 -1
  29. data/lib/countries/cache/locales/cv.json +1 -1
  30. data/lib/countries/cache/locales/cy.json +1 -1
  31. data/lib/countries/cache/locales/da.json +1 -1
  32. data/lib/countries/cache/locales/de.json +1 -1
  33. data/lib/countries/cache/locales/dv.json +1 -1
  34. data/lib/countries/cache/locales/dz.json +1 -1
  35. data/lib/countries/cache/locales/ee.json +1 -1
  36. data/lib/countries/cache/locales/el.json +1 -1
  37. data/lib/countries/cache/locales/en.json +1 -1
  38. data/lib/countries/cache/locales/eo.json +1 -1
  39. data/lib/countries/cache/locales/es.json +1 -1
  40. data/lib/countries/cache/locales/et.json +1 -1
  41. data/lib/countries/cache/locales/eu.json +1 -1
  42. data/lib/countries/cache/locales/fa.json +1 -1
  43. data/lib/countries/cache/locales/ff.json +1 -1
  44. data/lib/countries/cache/locales/fi.json +1 -1
  45. data/lib/countries/cache/locales/fo.json +1 -1
  46. data/lib/countries/cache/locales/fr.json +1 -1
  47. data/lib/countries/cache/locales/fy.json +1 -1
  48. data/lib/countries/cache/locales/ga.json +1 -1
  49. data/lib/countries/cache/locales/gl.json +1 -1
  50. data/lib/countries/cache/locales/gn.json +1 -1
  51. data/lib/countries/cache/locales/gu.json +1 -1
  52. data/lib/countries/cache/locales/gv.json +1 -1
  53. data/lib/countries/cache/locales/ha.json +1 -1
  54. data/lib/countries/cache/locales/he.json +1 -1
  55. data/lib/countries/cache/locales/hi.json +1 -1
  56. data/lib/countries/cache/locales/hr.json +1 -1
  57. data/lib/countries/cache/locales/ht.json +1 -1
  58. data/lib/countries/cache/locales/hu.json +1 -1
  59. data/lib/countries/cache/locales/hy.json +1 -1
  60. data/lib/countries/cache/locales/ia.json +1 -1
  61. data/lib/countries/cache/locales/id.json +1 -1
  62. data/lib/countries/cache/locales/io.json +1 -1
  63. data/lib/countries/cache/locales/is.json +1 -1
  64. data/lib/countries/cache/locales/it.json +1 -1
  65. data/lib/countries/cache/locales/iu.json +1 -1
  66. data/lib/countries/cache/locales/ja.json +1 -1
  67. data/lib/countries/cache/locales/ka.json +1 -1
  68. data/lib/countries/cache/locales/ki.json +1 -1
  69. data/lib/countries/cache/locales/kk.json +1 -1
  70. data/lib/countries/cache/locales/kl.json +1 -1
  71. data/lib/countries/cache/locales/km.json +1 -1
  72. data/lib/countries/cache/locales/kn.json +1 -1
  73. data/lib/countries/cache/locales/ko.json +1 -1
  74. data/lib/countries/cache/locales/kv.json +1 -1
  75. data/lib/countries/cache/locales/kw.json +1 -1
  76. data/lib/countries/cache/locales/ky.json +1 -1
  77. data/lib/countries/cache/locales/lo.json +1 -1
  78. data/lib/countries/cache/locales/lt.json +1 -1
  79. data/lib/countries/cache/locales/lv.json +1 -1
  80. data/lib/countries/cache/locales/mi.json +1 -1
  81. data/lib/countries/cache/locales/mk.json +1 -1
  82. data/lib/countries/cache/locales/ml.json +1 -1
  83. data/lib/countries/cache/locales/mn.json +1 -1
  84. data/lib/countries/cache/locales/mr.json +1 -1
  85. data/lib/countries/cache/locales/ms.json +1 -1
  86. data/lib/countries/cache/locales/mt.json +1 -1
  87. data/lib/countries/cache/locales/my.json +1 -1
  88. data/lib/countries/cache/locales/na.json +1 -1
  89. data/lib/countries/cache/locales/nb.json +1 -1
  90. data/lib/countries/cache/locales/ne.json +1 -1
  91. data/lib/countries/cache/locales/nl.json +1 -1
  92. data/lib/countries/cache/locales/nn.json +1 -1
  93. data/lib/countries/cache/locales/nv.json +1 -1
  94. data/lib/countries/cache/locales/oc.json +1 -1
  95. data/lib/countries/cache/locales/or.json +1 -1
  96. data/lib/countries/cache/locales/pa.json +1 -1
  97. data/lib/countries/cache/locales/pi.json +1 -1
  98. data/lib/countries/cache/locales/pl.json +1 -1
  99. data/lib/countries/cache/locales/ps.json +1 -1
  100. data/lib/countries/cache/locales/pt-br.json +1 -1
  101. data/lib/countries/cache/locales/pt.json +1 -1
  102. data/lib/countries/cache/locales/ro.json +1 -1
  103. data/lib/countries/cache/locales/ru.json +1 -1
  104. data/lib/countries/cache/locales/rw.json +1 -1
  105. data/lib/countries/cache/locales/sc.json +1 -1
  106. data/lib/countries/cache/locales/sd.json +1 -1
  107. data/lib/countries/cache/locales/si.json +1 -1
  108. data/lib/countries/cache/locales/sk.json +1 -1
  109. data/lib/countries/cache/locales/sl.json +1 -1
  110. data/lib/countries/cache/locales/so.json +1 -1
  111. data/lib/countries/cache/locales/sq.json +1 -1
  112. data/lib/countries/cache/locales/sr.json +1 -1
  113. data/lib/countries/cache/locales/sv.json +1 -1
  114. data/lib/countries/cache/locales/sw.json +1 -1
  115. data/lib/countries/cache/locales/ta.json +1 -1
  116. data/lib/countries/cache/locales/te.json +1 -1
  117. data/lib/countries/cache/locales/tg.json +1 -1
  118. data/lib/countries/cache/locales/th.json +1 -1
  119. data/lib/countries/cache/locales/ti.json +1 -1
  120. data/lib/countries/cache/locales/tk.json +1 -1
  121. data/lib/countries/cache/locales/tl.json +1 -1
  122. data/lib/countries/cache/locales/tr.json +1 -1
  123. data/lib/countries/cache/locales/tt.json +1 -1
  124. data/lib/countries/cache/locales/ug.json +1 -1
  125. data/lib/countries/cache/locales/uk.json +1 -1
  126. data/lib/countries/cache/locales/ur.json +1 -1
  127. data/lib/countries/cache/locales/uz.json +1 -1
  128. data/lib/countries/cache/locales/ve.json +1 -1
  129. data/lib/countries/cache/locales/vi.json +1 -1
  130. data/lib/countries/cache/locales/wa.json +1 -1
  131. data/lib/countries/cache/locales/wo.json +1 -1
  132. data/lib/countries/cache/locales/xh.json +1 -1
  133. data/lib/countries/cache/locales/yo.json +1 -1
  134. data/lib/countries/cache/locales/zh-cn.json +1 -1
  135. data/lib/countries/cache/locales/zh-hk.json +1 -1
  136. data/lib/countries/cache/locales/zh-tw.json +1 -1
  137. data/lib/countries/cache/locales/zu.json +1 -1
  138. data/lib/countries/country/class_methods.rb +8 -26
  139. data/lib/countries/country.rb +31 -5
  140. data/lib/countries/data/countries/AU.yaml +1 -1
  141. data/lib/countries/data/countries/BS.yaml +1 -2
  142. data/lib/countries/data/countries/CZ.yaml +1 -0
  143. data/lib/countries/data/countries/GB.yaml +3 -0
  144. data/lib/countries/data/countries/GM.yaml +1 -1
  145. data/lib/countries/data/countries/MK.yaml +1 -0
  146. data/lib/countries/data/countries/MM.yaml +1 -1
  147. data/lib/countries/data/countries/NL.yaml +1 -0
  148. data/lib/countries/data/countries/TH.yaml +1 -0
  149. data/lib/countries/data/countries/TW.yaml +1 -1
  150. data/lib/countries/data/countries/US.yaml +1 -1
  151. data/lib/countries/data/countries/VI.yaml +1 -0
  152. data/lib/countries/data/subdivisions/AD.yaml +14 -7
  153. data/lib/countries/data/subdivisions/AE.yaml +14 -7
  154. data/lib/countries/data/subdivisions/AF.yaml +196 -201
  155. data/lib/countries/data/subdivisions/AG.yaml +16 -22
  156. data/lib/countries/data/subdivisions/AL.yaml +24 -12
  157. data/lib/countries/data/subdivisions/AM.yaml +22 -11
  158. data/lib/countries/data/subdivisions/AO.yaml +36 -18
  159. data/lib/countries/data/subdivisions/AR.yaml +48 -24
  160. data/lib/countries/data/subdivisions/AT.yaml +18 -9
  161. data/lib/countries/data/subdivisions/AU.yaml +16 -8
  162. data/lib/countries/data/subdivisions/AZ.yaml +434 -412
  163. data/lib/countries/data/subdivisions/BA.yaml +75 -223
  164. data/lib/countries/data/subdivisions/BB.yaml +22 -11
  165. data/lib/countries/data/subdivisions/BD.yaml +188 -116
  166. data/lib/countries/data/subdivisions/BE.yaml +174 -161
  167. data/lib/countries/data/subdivisions/BF.yaml +2918 -2860
  168. data/lib/countries/data/subdivisions/BG.yaml +56 -28
  169. data/lib/countries/data/subdivisions/BH.yaml +8 -21
  170. data/lib/countries/data/subdivisions/BI.yaml +176 -157
  171. data/lib/countries/data/subdivisions/BJ.yaml +24 -12
  172. data/lib/countries/data/subdivisions/BN.yaml +8 -4
  173. data/lib/countries/data/subdivisions/BO.yaml +18 -9
  174. data/lib/countries/data/subdivisions/BQ.yaml +6 -3
  175. data/lib/countries/data/subdivisions/BR.yaml +54 -27
  176. data/lib/countries/data/subdivisions/BS.yaml +575 -697
  177. data/lib/countries/data/subdivisions/BT.yaml +40 -20
  178. data/lib/countries/data/subdivisions/BW.yaml +337 -321
  179. data/lib/countries/data/subdivisions/BY.yaml +106 -116
  180. data/lib/countries/data/subdivisions/BZ.yaml +12 -6
  181. data/lib/countries/data/subdivisions/CA.yaml +26 -13
  182. data/lib/countries/data/subdivisions/CD.yaml +488 -525
  183. data/lib/countries/data/subdivisions/CF.yaml +34 -17
  184. data/lib/countries/data/subdivisions/CG.yaml +40 -28
  185. data/lib/countries/data/subdivisions/CH.yaml +52 -26
  186. data/lib/countries/data/subdivisions/CI.yaml +244 -516
  187. data/lib/countries/data/subdivisions/CL.yaml +81 -65
  188. data/lib/countries/data/subdivisions/CM.yaml +20 -10
  189. data/lib/countries/data/subdivisions/CN.yaml +2152 -2084
  190. data/lib/countries/data/subdivisions/CO.yaml +66 -33
  191. data/lib/countries/data/subdivisions/CR.yaml +14 -7
  192. data/lib/countries/data/subdivisions/CU.yaml +32 -16
  193. data/lib/countries/data/subdivisions/CV.yaml +427 -401
  194. data/lib/countries/data/subdivisions/CY.yaml +12 -6
  195. data/lib/countries/data/subdivisions/CZ.yaml +1116 -85
  196. data/lib/countries/data/subdivisions/DE.yaml +32 -16
  197. data/lib/countries/data/subdivisions/DJ.yaml +12 -6
  198. data/lib/countries/data/subdivisions/DK.yaml +25 -17
  199. data/lib/countries/data/subdivisions/DM.yaml +20 -10
  200. data/lib/countries/data/subdivisions/DO.yaml +84 -42
  201. data/lib/countries/data/subdivisions/DZ.yaml +96 -48
  202. data/lib/countries/data/subdivisions/EC.yaml +158 -134
  203. data/lib/countries/data/subdivisions/EE.yaml +501 -334
  204. data/lib/countries/data/subdivisions/EG.yaml +54 -27
  205. data/lib/countries/data/subdivisions/ER.yaml +12 -6
  206. data/lib/countries/data/subdivisions/ES.yaml +1459 -1390
  207. data/lib/countries/data/subdivisions/ET.yaml +22 -11
  208. data/lib/countries/data/subdivisions/FI.yaml +185 -1
  209. data/lib/countries/data/subdivisions/FJ.yaml +443 -424
  210. data/lib/countries/data/subdivisions/FM.yaml +8 -4
  211. data/lib/countries/data/subdivisions/FR.yaml +438 -275
  212. data/lib/countries/data/subdivisions/GA.yaml +18 -9
  213. data/lib/countries/data/subdivisions/GB.yaml +1185 -1708
  214. data/lib/countries/data/subdivisions/GD.yaml +14 -7
  215. data/lib/countries/data/subdivisions/GE.yaml +24 -12
  216. data/lib/countries/data/subdivisions/GH.yaml +114 -155
  217. data/lib/countries/data/subdivisions/GL.yaml +24 -79
  218. data/lib/countries/data/subdivisions/GM.yaml +12 -6
  219. data/lib/countries/data/subdivisions/GN.yaml +444 -403
  220. data/lib/countries/data/subdivisions/GQ.yaml +24 -13
  221. data/lib/countries/data/subdivisions/GR.yaml +114 -73
  222. data/lib/countries/data/subdivisions/GT.yaml +44 -22
  223. data/lib/countries/data/subdivisions/GW.yaml +69 -57
  224. data/lib/countries/data/subdivisions/GY.yaml +20 -10
  225. data/lib/countries/data/subdivisions/HN.yaml +36 -18
  226. data/lib/countries/data/subdivisions/HR.yaml +42 -21
  227. data/lib/countries/data/subdivisions/HT.yaml +73 -63
  228. data/lib/countries/data/subdivisions/HU.yaml +106 -63
  229. data/lib/countries/data/subdivisions/ID.yaml +229 -188
  230. data/lib/countries/data/subdivisions/IE.yaml +128 -97
  231. data/lib/countries/data/subdivisions/IL.yaml +12 -6
  232. data/lib/countries/data/subdivisions/IN.yaml +245 -396
  233. data/lib/countries/data/subdivisions/IQ.yaml +111 -91
  234. data/lib/countries/data/subdivisions/IR.yaml +1463 -1451
  235. data/lib/countries/data/subdivisions/IS.yaml +160 -25
  236. data/lib/countries/data/subdivisions/IT.yaml +8740 -8292
  237. data/lib/countries/data/subdivisions/JM.yaml +28 -14
  238. data/lib/countries/data/subdivisions/JO.yaml +24 -12
  239. data/lib/countries/data/subdivisions/JP.yaml +94 -47
  240. data/lib/countries/data/subdivisions/KE.yaml +95 -48
  241. data/lib/countries/data/subdivisions/KG.yaml +95 -86
  242. data/lib/countries/data/subdivisions/KH.yaml +64 -39
  243. data/lib/countries/data/subdivisions/KI.yaml +6 -3
  244. data/lib/countries/data/subdivisions/KM.yaml +6 -3
  245. data/lib/countries/data/subdivisions/KN.yaml +32 -16
  246. data/lib/countries/data/subdivisions/KP.yaml +24 -227
  247. data/lib/countries/data/subdivisions/KR.yaml +34 -17
  248. data/lib/countries/data/subdivisions/KW.yaml +12 -6
  249. data/lib/countries/data/subdivisions/KZ.yaml +47 -102
  250. data/lib/countries/data/subdivisions/LA.yaml +36 -34
  251. data/lib/countries/data/subdivisions/LB.yaml +71 -63
  252. data/lib/countries/data/subdivisions/LC.yaml +116 -106
  253. data/lib/countries/data/subdivisions/LI.yaml +22 -11
  254. data/lib/countries/data/subdivisions/LK.yaml +445 -411
  255. data/lib/countries/data/subdivisions/LR.yaml +146 -129
  256. data/lib/countries/data/subdivisions/LS.yaml +20 -10
  257. data/lib/countries/data/subdivisions/LT.yaml +1706 -1636
  258. data/lib/countries/data/subdivisions/LU.yaml +24 -12
  259. data/lib/countries/data/subdivisions/LV.yaml +1623 -1577
  260. data/lib/countries/data/subdivisions/LY.yaml +44 -22
  261. data/lib/countries/data/subdivisions/MA.yaml +810 -1589
  262. data/lib/countries/data/subdivisions/MC.yaml +261 -244
  263. data/lib/countries/data/subdivisions/MD.yaml +74 -79
  264. data/lib/countries/data/subdivisions/ME.yaml +217 -195
  265. data/lib/countries/data/subdivisions/MG.yaml +12 -6
  266. data/lib/countries/data/subdivisions/MH.yaml +167 -140
  267. data/lib/countries/data/subdivisions/MK.yaml +160 -80
  268. data/lib/countries/data/subdivisions/ML.yaml +48 -37
  269. data/lib/countries/data/subdivisions/MM.yaml +30 -15
  270. data/lib/countries/data/subdivisions/MN.yaml +44 -22
  271. data/lib/countries/data/subdivisions/MR.yaml +30 -34
  272. data/lib/countries/data/subdivisions/MT.yaml +136 -68
  273. data/lib/countries/data/subdivisions/MU.yaml +24 -262
  274. data/lib/countries/data/subdivisions/MV.yaml +161 -254
  275. data/lib/countries/data/subdivisions/MW.yaml +250 -219
  276. data/lib/countries/data/subdivisions/MX.yaml +64 -32
  277. data/lib/countries/data/subdivisions/MY.yaml +32 -16
  278. data/lib/countries/data/subdivisions/MZ.yaml +22 -11
  279. data/lib/countries/data/subdivisions/NA.yaml +58 -44
  280. data/lib/countries/data/subdivisions/NE.yaml +16 -8
  281. data/lib/countries/data/subdivisions/NG.yaml +74 -37
  282. data/lib/countries/data/subdivisions/NI.yaml +34 -17
  283. data/lib/countries/data/subdivisions/NL.yaml +303 -285
  284. data/lib/countries/data/subdivisions/NO.yaml +39 -17
  285. data/lib/countries/data/subdivisions/NP.yaml +302 -276
  286. data/lib/countries/data/subdivisions/NR.yaml +28 -14
  287. data/lib/countries/data/subdivisions/NZ.yaml +34 -17
  288. data/lib/countries/data/subdivisions/OM.yaml +260 -311
  289. data/lib/countries/data/subdivisions/PA.yaml +57 -44
  290. data/lib/countries/data/subdivisions/PE.yaml +107 -81
  291. data/lib/countries/data/subdivisions/PG.yaml +163 -158
  292. data/lib/countries/data/subdivisions/PH.yaml +5062 -4992
  293. data/lib/countries/data/subdivisions/PK.yaml +145 -235
  294. data/lib/countries/data/subdivisions/PL.yaml +51 -3
  295. data/lib/countries/data/subdivisions/PS.yaml +32 -16
  296. data/lib/countries/data/subdivisions/PT.yaml +40 -20
  297. data/lib/countries/data/subdivisions/PW.yaml +32 -16
  298. data/lib/countries/data/subdivisions/PY.yaml +36 -18
  299. data/lib/countries/data/subdivisions/QA.yaml +27 -78
  300. data/lib/countries/data/subdivisions/RO.yaml +84 -42
  301. data/lib/countries/data/subdivisions/RS.yaml +104 -72
  302. data/lib/countries/data/subdivisions/RU.yaml +166 -83
  303. data/lib/countries/data/subdivisions/RW.yaml +10 -5
  304. data/lib/countries/data/subdivisions/SA.yaml +26 -13
  305. data/lib/countries/data/subdivisions/SB.yaml +20 -10
  306. data/lib/countries/data/subdivisions/SC.yaml +54 -25
  307. data/lib/countries/data/subdivisions/SD.yaml +798 -780
  308. data/lib/countries/data/subdivisions/SE.yaml +42 -21
  309. data/lib/countries/data/subdivisions/SG.yaml +15 -10
  310. data/lib/countries/data/subdivisions/SH.yaml +21 -32
  311. data/lib/countries/data/subdivisions/SI.yaml +475 -263
  312. data/lib/countries/data/subdivisions/SK.yaml +16 -8
  313. data/lib/countries/data/subdivisions/SL.yaml +23 -18
  314. data/lib/countries/data/subdivisions/SM.yaml +18 -9
  315. data/lib/countries/data/subdivisions/SN.yaml +188 -174
  316. data/lib/countries/data/subdivisions/SO.yaml +36 -18
  317. data/lib/countries/data/subdivisions/SR.yaml +20 -10
  318. data/lib/countries/data/subdivisions/SS.yaml +20 -10
  319. data/lib/countries/data/subdivisions/ST.yaml +38 -52
  320. data/lib/countries/data/subdivisions/SV.yaml +28 -14
  321. data/lib/countries/data/subdivisions/SY.yaml +28 -14
  322. data/lib/countries/data/subdivisions/SZ.yaml +8 -4
  323. data/lib/countries/data/subdivisions/TD.yaml +312 -303
  324. data/lib/countries/data/subdivisions/TG.yaml +10 -5
  325. data/lib/countries/data/subdivisions/TH.yaml +211 -133
  326. data/lib/countries/data/subdivisions/TJ.yaml +161 -156
  327. data/lib/countries/data/subdivisions/TL.yaml +26 -13
  328. data/lib/countries/data/subdivisions/TM.yaml +12 -6
  329. data/lib/countries/data/subdivisions/TN.yaml +48 -24
  330. data/lib/countries/data/subdivisions/TO.yaml +10 -5
  331. data/lib/countries/data/subdivisions/TR.yaml +162 -81
  332. data/lib/countries/data/subdivisions/TT.yaml +128 -160
  333. data/lib/countries/data/subdivisions/TV.yaml +57 -63
  334. data/lib/countries/data/subdivisions/TW.yaml +143 -183
  335. data/lib/countries/data/subdivisions/TZ.yaml +62 -31
  336. data/lib/countries/data/subdivisions/UA.yaml +55 -28
  337. data/lib/countries/data/subdivisions/UG.yaml +4806 -4660
  338. data/lib/countries/data/subdivisions/UM.yaml +18 -9
  339. data/lib/countries/data/subdivisions/US.yaml +114 -57
  340. data/lib/countries/data/subdivisions/UY.yaml +99 -80
  341. data/lib/countries/data/subdivisions/UZ.yaml +28 -14
  342. data/lib/countries/data/subdivisions/VC.yaml +12 -6
  343. data/lib/countries/data/subdivisions/VE.yaml +50 -25
  344. data/lib/countries/data/subdivisions/VN.yaml +3576 -3513
  345. data/lib/countries/data/subdivisions/VU.yaml +12 -6
  346. data/lib/countries/data/subdivisions/WF.yaml +6 -3
  347. data/lib/countries/data/subdivisions/WS.yaml +22 -11
  348. data/lib/countries/data/subdivisions/YE.yaml +222 -200
  349. data/lib/countries/data/subdivisions/ZA.yaml +86 -100
  350. data/lib/countries/data/subdivisions/ZM.yaml +20 -10
  351. data/lib/countries/data/subdivisions/ZW.yaml +20 -10
  352. data/lib/countries/data/translations/countries-ab.yaml +254 -0
  353. data/lib/countries/data/translations/countries-af.yaml +254 -0
  354. data/lib/countries/data/translations/countries-ak.yaml +254 -0
  355. data/lib/countries/data/translations/countries-am.yaml +254 -0
  356. data/lib/countries/data/translations/countries-an.yaml +254 -0
  357. data/lib/countries/data/translations/countries-ar.yaml +254 -0
  358. data/lib/countries/data/translations/countries-as.yaml +254 -0
  359. data/lib/countries/data/translations/countries-ay.yaml +254 -0
  360. data/lib/countries/data/translations/countries-az.yaml +254 -0
  361. data/lib/countries/data/translations/countries-ba.yaml +254 -0
  362. data/lib/countries/data/translations/countries-be.yaml +254 -0
  363. data/lib/countries/data/translations/countries-bg.yaml +254 -0
  364. data/lib/countries/data/translations/countries-bi.yaml +254 -0
  365. data/lib/countries/data/translations/countries-bn.yaml +254 -0
  366. data/lib/countries/data/translations/countries-bn_IN.yaml +254 -0
  367. data/lib/countries/data/translations/countries-br.yaml +254 -0
  368. data/lib/countries/data/translations/countries-bs.yaml +254 -0
  369. data/lib/countries/data/translations/countries-ca.yaml +254 -0
  370. data/lib/countries/data/translations/countries-ce.yaml +254 -0
  371. data/lib/countries/data/translations/countries-ch.yaml +254 -0
  372. data/lib/countries/data/translations/countries-cs.yaml +254 -0
  373. data/lib/countries/data/translations/countries-cv.yaml +254 -0
  374. data/lib/countries/data/translations/countries-cy.yaml +254 -0
  375. data/lib/countries/data/translations/countries-da.yaml +254 -0
  376. data/lib/countries/data/translations/countries-de.yaml +254 -0
  377. data/lib/countries/data/translations/countries-dv.yaml +254 -0
  378. data/lib/countries/data/translations/countries-dz.yaml +254 -0
  379. data/lib/countries/data/translations/countries-ee.yaml +254 -0
  380. data/lib/countries/data/translations/countries-el.yaml +254 -0
  381. data/lib/countries/data/translations/countries-en.yaml +254 -0
  382. data/lib/countries/data/translations/countries-eo.yaml +254 -0
  383. data/lib/countries/data/translations/countries-es.yaml +254 -0
  384. data/lib/countries/data/translations/countries-et.yaml +254 -0
  385. data/lib/countries/data/translations/countries-eu.yaml +254 -0
  386. data/lib/countries/data/translations/countries-fa.yaml +254 -0
  387. data/lib/countries/data/translations/countries-ff.yaml +254 -0
  388. data/lib/countries/data/translations/countries-fi.yaml +254 -0
  389. data/lib/countries/data/translations/countries-fo.yaml +254 -0
  390. data/lib/countries/data/translations/countries-fr.yaml +254 -0
  391. data/lib/countries/data/translations/countries-fy.yaml +254 -0
  392. data/lib/countries/data/translations/countries-ga.yaml +254 -0
  393. data/lib/countries/data/translations/countries-gl.yaml +254 -0
  394. data/lib/countries/data/translations/countries-gn.yaml +254 -0
  395. data/lib/countries/data/translations/countries-gu.yaml +254 -0
  396. data/lib/countries/data/translations/countries-gv.yaml +254 -0
  397. data/lib/countries/data/translations/countries-ha.yaml +254 -0
  398. data/lib/countries/data/translations/countries-he.yaml +254 -0
  399. data/lib/countries/data/translations/countries-hi.yaml +254 -0
  400. data/lib/countries/data/translations/countries-hr.yaml +254 -0
  401. data/lib/countries/data/translations/countries-ht.yaml +254 -0
  402. data/lib/countries/data/translations/countries-hu.yaml +254 -0
  403. data/lib/countries/data/translations/countries-hy.yaml +254 -0
  404. data/lib/countries/data/translations/countries-ia.yaml +254 -0
  405. data/lib/countries/data/translations/countries-id.yaml +254 -0
  406. data/lib/countries/data/translations/countries-io.yaml +254 -0
  407. data/lib/countries/data/translations/countries-is.yaml +254 -0
  408. data/lib/countries/data/translations/countries-it.yaml +254 -0
  409. data/lib/countries/data/translations/countries-iu.yaml +254 -0
  410. data/lib/countries/data/translations/countries-ja.yaml +254 -0
  411. data/lib/countries/data/translations/countries-ka.yaml +254 -0
  412. data/lib/countries/data/translations/countries-ki.yaml +254 -0
  413. data/lib/countries/data/translations/countries-kk.yaml +254 -0
  414. data/lib/countries/data/translations/countries-kl.yaml +254 -0
  415. data/lib/countries/data/translations/countries-km.yaml +254 -0
  416. data/lib/countries/data/translations/countries-kn.yaml +254 -0
  417. data/lib/countries/data/translations/countries-ko.yaml +254 -0
  418. data/lib/countries/data/translations/countries-ku.yaml +254 -0
  419. data/lib/countries/data/translations/countries-kv.yaml +254 -0
  420. data/lib/countries/data/translations/countries-kw.yaml +254 -0
  421. data/lib/countries/data/translations/countries-ky.yaml +254 -0
  422. data/lib/countries/data/translations/countries-lo.yaml +254 -0
  423. data/lib/countries/data/translations/countries-lt.yaml +254 -0
  424. data/lib/countries/data/translations/countries-lv.yaml +254 -0
  425. data/lib/countries/data/translations/countries-mi.yaml +254 -0
  426. data/lib/countries/data/translations/countries-mk.yaml +254 -0
  427. data/lib/countries/data/translations/countries-ml.yaml +254 -0
  428. data/lib/countries/data/translations/countries-mn.yaml +254 -0
  429. data/lib/countries/data/translations/countries-mr.yaml +254 -0
  430. data/lib/countries/data/translations/countries-ms.yaml +254 -0
  431. data/lib/countries/data/translations/countries-mt.yaml +254 -0
  432. data/lib/countries/data/translations/countries-my.yaml +254 -0
  433. data/lib/countries/data/translations/countries-na.yaml +254 -0
  434. data/lib/countries/data/translations/countries-nb.yaml +254 -0
  435. data/lib/countries/data/translations/countries-ne.yaml +254 -0
  436. data/lib/countries/data/translations/countries-nl.yaml +254 -0
  437. data/lib/countries/data/translations/countries-nn.yaml +254 -0
  438. data/lib/countries/data/translations/countries-nv.yaml +254 -0
  439. data/lib/countries/data/translations/countries-oc.yaml +254 -0
  440. data/lib/countries/data/translations/countries-or.yaml +254 -0
  441. data/lib/countries/data/translations/countries-pa.yaml +254 -0
  442. data/lib/countries/data/translations/countries-pi.yaml +254 -0
  443. data/lib/countries/data/translations/countries-pl.yaml +254 -0
  444. data/lib/countries/data/translations/countries-ps.yaml +254 -0
  445. data/lib/countries/data/translations/countries-pt.yaml +254 -0
  446. data/lib/countries/data/translations/countries-pt_BR.yaml +254 -0
  447. data/lib/countries/data/translations/countries-ro.yaml +254 -0
  448. data/lib/countries/data/translations/countries-ru.yaml +254 -0
  449. data/lib/countries/data/translations/countries-rw.yaml +254 -0
  450. data/lib/countries/data/translations/countries-sc.yaml +254 -0
  451. data/lib/countries/data/translations/countries-sd.yaml +254 -0
  452. data/lib/countries/data/translations/countries-si.yaml +254 -0
  453. data/lib/countries/data/translations/countries-sk.yaml +254 -0
  454. data/lib/countries/data/translations/countries-sl.yaml +254 -0
  455. data/lib/countries/data/translations/countries-so.yaml +254 -0
  456. data/lib/countries/data/translations/countries-sq.yaml +254 -0
  457. data/lib/countries/data/translations/countries-sr.yaml +254 -0
  458. data/lib/countries/data/translations/countries-sv.yaml +254 -0
  459. data/lib/countries/data/translations/countries-sw.yaml +254 -0
  460. data/lib/countries/data/translations/countries-ta.yaml +254 -0
  461. data/lib/countries/data/translations/countries-te.yaml +254 -0
  462. data/lib/countries/data/translations/countries-tg.yaml +254 -0
  463. data/lib/countries/data/translations/countries-th.yaml +254 -0
  464. data/lib/countries/data/translations/countries-ti.yaml +254 -0
  465. data/lib/countries/data/translations/countries-tk.yaml +254 -0
  466. data/lib/countries/data/translations/countries-tl.yaml +254 -0
  467. data/lib/countries/data/translations/countries-tr.yaml +254 -0
  468. data/lib/countries/data/translations/countries-tt.yaml +254 -0
  469. data/lib/countries/data/translations/countries-ug.yaml +254 -0
  470. data/lib/countries/data/translations/countries-uk.yaml +254 -0
  471. data/lib/countries/data/translations/countries-ur.yaml +254 -0
  472. data/lib/countries/data/translations/countries-uz.yaml +254 -0
  473. data/lib/countries/data/translations/countries-ve.yaml +254 -0
  474. data/lib/countries/data/translations/countries-vi.yaml +254 -0
  475. data/lib/countries/data/translations/countries-wa.yaml +254 -0
  476. data/lib/countries/data/translations/countries-wo.yaml +254 -0
  477. data/lib/countries/data/translations/countries-xh.yaml +254 -0
  478. data/lib/countries/data/translations/countries-yo.yaml +254 -0
  479. data/lib/countries/data/translations/countries-zh_CN.yaml +254 -0
  480. data/lib/countries/data/translations/countries-zh_HK.yaml +254 -0
  481. data/lib/countries/data/translations/countries-zh_TW.yaml +254 -0
  482. data/lib/countries/data/translations/countries-zu.yaml +254 -0
  483. data/lib/countries/data.rb +40 -8
  484. data/lib/countries/iso3166.rb +0 -1
  485. data/lib/countries/sources/cldr/subdivision_updater.rb +1 -1
  486. data/lib/countries/subdivision.rb +19 -8
  487. data/lib/countries/version.rb +1 -1
  488. data/spec/country_spec.rb +63 -19
  489. data/spec/data_spec.rb +74 -5
  490. metadata +133 -24
  491. data/lib/countries/cache/locales/zh.json +0 -1
  492. data/lib/countries/data/subdivisions/AI.yaml +0 -197
  493. data/lib/countries/data/subdivisions/BM.yaml +0 -155
  494. data/lib/countries/data/subdivisions/CK.yaml +0 -155
  495. data/lib/countries/data/subdivisions/EH.yaml +0 -80
  496. data/lib/countries/data/subdivisions/SJ.yaml +0 -29
  497. data/lib/countries/data/subdivisions/TK.yaml +0 -43
  498. data/lib/countries/data/translation_corrections.yaml +0 -53
@@ -58,19 +58,47 @@ module ISO3166
58
58
  # @return [Array<ISO3166::Subdivision>] the list of subdivisions for this Country.
59
59
  def subdivisions
60
60
  @subdivisions ||= if data['subdivisions']
61
- self.class.create_subdivisions(data['subdivisions'])
61
+ ISO3166::Data.create_subdivisions(data['subdivisions'])
62
62
  else
63
- self.class.subdivisions(alpha2)
63
+ ISO3166::Data.subdivisions(alpha2)
64
64
  end
65
65
  end
66
66
 
67
+ # @param types [Array<String>] The locale to use for translations.
68
+ # @return [Array<ISO3166::Subdivision>] the list of subdivisions of the given type(s) for this Country.
69
+ def subdivisions_of_types(types)
70
+ subdivisions.select{|k,v| types.include?(v.type)}
71
+ end
72
+
73
+ # @return [Array<String>] the list of subdivision types for this country
74
+ def subdivision_types
75
+ subdivisions.map{|k,v| v['type']}.uniq
76
+ end
77
+
78
+ # @return [Array<String>] the list of humanized subdivision types for this country. Uses ActiveSupport's `#humanize` if available
79
+ def humanized_subdivision_types
80
+ if String.instance_methods.include?(:humanize)
81
+ subdivisions.map{|k,v| v['type'].humanize}.uniq
82
+ else
83
+ subdivisions.map{|k,v| v['type'][0].upcase + v['type'].tr('_', ' ')[1..-1]}.uniq
84
+ end
85
+ end
86
+
67
87
  # @param locale [String] The locale to use for translations.
68
88
  # @return [Array<Array>] This Country's subdivision pairs of names and codes.
69
89
  def subdivision_names_with_codes(locale = 'en')
70
90
  subdivisions.map { |k, v| [v.translations[locale] || v.name, k] }
71
91
  end
72
92
 
73
- alias states subdivisions
93
+ def states
94
+ if RUBY_VERSION =~ /^3\.\d\.\d/
95
+ warn "DEPRECATION WARNING: The Country#states method has been deprecated and will be removed in 6.0. Please use Country#subdivisions instead.", uplevel: 1, category: :deprecated
96
+ else
97
+ warn "DEPRECATION WARNING: The Country#states method has been deprecated and will be removed in 6.0. Please use Country#subdivisions instead.", uplevel: 1
98
+ end
99
+
100
+ subdivisions
101
+ end
74
102
 
75
103
  # +true+ if this country is a member of the European Union.
76
104
  def in_eu?
@@ -205,8 +233,6 @@ module ISO3166
205
233
  # @!attribute world_region
206
234
  # @return [String] The "World Region" this country is in: +"AMER"+ , +"APAC"+ or +"EMEA"+
207
235
 
208
-
209
-
210
236
  private
211
237
 
212
238
  def reload
@@ -47,11 +47,11 @@ AU:
47
47
  subregion: Australia and New Zealand
48
48
  un_locode: AU
49
49
  unofficial_names:
50
- - Australia
51
50
  - Australien
52
51
  - Australie
53
52
  - オーストラリア
54
53
  - Australië
54
+ - 澳洲
55
55
  vat_rates:
56
56
  standard: 10
57
57
  reduced: []
@@ -42,7 +42,6 @@ BS:
42
42
  subregion: Caribbean
43
43
  un_locode: BS
44
44
  unofficial_names:
45
- - Bahamas
45
+ - The Bahamas
46
46
  - バハマ
47
- - Bahama’s
48
47
  world_region: AMER
@@ -58,6 +58,7 @@ CZ:
58
58
  - チェコ
59
59
  - Tsjechië
60
60
  - Czechia
61
+ - Česká republika
61
62
  vat_rates:
62
63
  standard: 21
63
64
  reduced:
@@ -65,6 +65,9 @@ GB:
65
65
  - Great Britain (UK)
66
66
  - UK
67
67
  - Великобритания
68
+ - Velká Británie
69
+ - İngiltere
70
+ - Великобританія
68
71
  vat_rates:
69
72
  standard: 20
70
73
  reduced:
@@ -41,6 +41,6 @@ GM:
41
41
  subregion: Western Africa
42
42
  un_locode: GM
43
43
  unofficial_names:
44
- - Gambia
44
+ - The Gambia
45
45
  - ガンビア
46
46
  world_region: EMEA
@@ -56,4 +56,5 @@ MK:
56
56
  - Macedonië [FYROM]
57
57
  - Macedonia (The Former Yugoslav Republic of)
58
58
  - North Macedonia
59
+ - Macedonia (FYROM)
59
60
  world_region: EMEA
@@ -43,6 +43,6 @@ MM:
43
43
  subregion: South-Eastern Asia
44
44
  un_locode: MM
45
45
  unofficial_names:
46
- - Myanmar
46
+ - Myanmar (Burma)
47
47
  - ミャンマー
48
48
  world_region: APAC
@@ -56,6 +56,7 @@ NL:
56
56
  - Países Bajos
57
57
  - オランダ
58
58
  - Nederland
59
+ - Нидерландия
59
60
  vat_rates:
60
61
  standard: 21
61
62
  reduced:
@@ -47,6 +47,7 @@ TH:
47
47
  - Thaïlande
48
48
  - Tailandia
49
49
  - タイ
50
+ - ประเทศไทย
50
51
  vat_rates:
51
52
  standard: 7
52
53
  reduced:
@@ -50,5 +50,5 @@ TW:
50
50
  unofficial_names:
51
51
  - Taiwan
52
52
  - Taiwán
53
- - 台湾
53
+ - 台灣
54
54
  world_region: APAC
@@ -49,10 +49,10 @@ US:
49
49
  unofficial_names:
50
50
  - United States
51
51
  - USA
52
- - Murica
53
52
  - Vereinigte Staaten von Amerika
54
53
  - États-Unis
55
54
  - Estados Unidos
56
55
  - アメリカ合衆国
57
56
  - Verenigde Staten
57
+ - Соединенные Штаты Америки
58
58
  world_region: AMER
@@ -50,4 +50,5 @@ VI:
50
50
  - Amerikaanse Maagdeneilanden
51
51
  - Virgin Islands (U.S.)
52
52
  - United States Virgin Islands
53
+ - U.S. Virgin Islands
53
54
  world_region: AMER
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  '02':
3
3
  name: Canillo
4
- code:
4
+ code: '02'
5
5
  unofficial_names: Canillo
6
6
  geo:
7
7
  latitude: 42.5666535
@@ -13,9 +13,10 @@
13
13
  translations:
14
14
  en: Canillo
15
15
  comments:
16
+ type: parish
16
17
  '03':
17
18
  name: Encamp
18
- code:
19
+ code: '03'
19
20
  unofficial_names: Encamp
20
21
  geo:
21
22
  latitude: 42.5362652
@@ -27,9 +28,10 @@
27
28
  translations:
28
29
  en: Encamp
29
30
  comments:
31
+ type: parish
30
32
  '04':
31
33
  name: La Massana
32
- code:
34
+ code: '04'
33
35
  unofficial_names: La Massana
34
36
  geo:
35
37
  latitude: 42.545625
@@ -41,9 +43,10 @@
41
43
  translations:
42
44
  en: La Massana
43
45
  comments:
46
+ type: parish
44
47
  '05':
45
48
  name: Ordino
46
- code:
49
+ code: '05'
47
50
  unofficial_names: Ordino
48
51
  geo:
49
52
  latitude: 42.5556547
@@ -55,9 +58,10 @@
55
58
  translations:
56
59
  en: Ordino
57
60
  comments:
61
+ type: parish
58
62
  '06':
59
63
  name: Sant Julià de Lòria
60
- code:
64
+ code: '06'
61
65
  unofficial_names:
62
66
  - Saint Julia de Loria
63
67
  geo:
@@ -70,9 +74,10 @@
70
74
  translations:
71
75
  en: Sant Julià de Lòria
72
76
  comments:
77
+ type: parish
73
78
  '07':
74
79
  name: Andorra la Vella
75
- code:
80
+ code: '07'
76
81
  unofficial_names:
77
82
  - Andorra la Vieja
78
83
  - Andorre-la-Vieille
@@ -86,9 +91,10 @@
86
91
  translations:
87
92
  en: Andorra la Vella
88
93
  comments:
94
+ type: parish
89
95
  '08':
90
96
  name: Escaldes-Engordany
91
- code:
97
+ code: '08'
92
98
  unofficial_names:
93
99
  - Les Escaldes
94
100
  geo:
@@ -101,3 +107,4 @@
101
107
  translations:
102
108
  en: Escaldes-Engordany
103
109
  comments:
110
+ type: parish
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  AJ:
3
3
  name: "'Ajmān"
4
- code:
4
+ code: AJ
5
5
  unofficial_names: "-إمارة عجمانّ - Ujman"
6
6
  geo:
7
7
  latitude: 25.3995
@@ -74,9 +74,10 @@ AJ:
74
74
  'no': Emiratet Ajman
75
75
  yo_BJ: Ajman
76
76
  comments:
77
+ type: emirate
77
78
  AZ:
78
79
  name: Abū Z̧aby [Abu Dhabi]
79
- code:
80
+ code: AZ
80
81
  unofficial_names:
81
82
  - أبو ظبي
82
83
  - Abu Zabi
@@ -157,9 +158,10 @@ AZ:
157
158
  mk: Абу Даби
158
159
  'no': Emiratet Abu Dhabi
159
160
  comments:
161
+ type: emirate
160
162
  DU:
161
163
  name: Dubayy
162
- code:
164
+ code: DU
163
165
  unofficial_names:
164
166
  - دبي
165
167
  - Dubai
@@ -232,9 +234,10 @@ DU:
232
234
  bs: Dubai
233
235
  'no': Emiratet Dubai
234
236
  comments:
237
+ type: emirate
235
238
  FU:
236
239
  name: Al Fujayrah
237
- code:
240
+ code: FU
238
241
  unofficial_names:
239
242
  - الفجيرة
240
243
  - Al Fujayrah
@@ -309,9 +312,10 @@ FU:
309
312
  'no': Emiratet Fujairah
310
313
  yo_BJ: Fujairah
311
314
  comments:
315
+ type: emirate
312
316
  RK:
313
317
  name: Ra's al Khaymah
314
- code:
318
+ code: RK
315
319
  unofficial_names:
316
320
  - إمارة رأس الخيمة
317
321
  - Ras al-Khaimah
@@ -385,9 +389,10 @@ RK:
385
389
  'no': Emiratet Ras al-Khaimah
386
390
  yo_BJ: Ras al Khaimah
387
391
  comments:
392
+ type: emirate
388
393
  SH:
389
394
  name: Ash Shariqah [Sharjah]
390
- code:
395
+ code: SH
391
396
  unofficial_names:
392
397
  - إمارة الشارقةّ
393
398
  - Ash Shariqah
@@ -462,9 +467,10 @@ SH:
462
467
  'no': Emiratet Sharjah
463
468
  yo_BJ: Sharjah
464
469
  comments:
470
+ type: emirate
465
471
  UQ:
466
472
  name: Umm al Qaywayn
467
- code:
473
+ code: UQ
468
474
  unofficial_names:
469
475
  - أمّ القيوين
470
476
  - Umm al-Quwain
@@ -537,3 +543,4 @@ UQ:
537
543
  'no': Emiratet Umm al-Qaiwain
538
544
  yo_BJ: Um Al Quwain
539
545
  comments:
546
+ type: emirate