countries 5.1.0 → 6.0.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 (544) hide show
  1. checksums.yaml +4 -4
  2. data/lib/countries/cache/countries.json +1 -1
  3. data/lib/countries/cache/locales/ab.json +1 -1
  4. data/lib/countries/cache/locales/ak.json +1 -1
  5. data/lib/countries/cache/locales/an.json +1 -1
  6. data/lib/countries/cache/locales/ar.json +1 -1
  7. data/lib/countries/cache/locales/ay.json +1 -1
  8. data/lib/countries/cache/locales/ba.json +1 -1
  9. data/lib/countries/cache/locales/bi.json +1 -1
  10. data/lib/countries/cache/locales/ch.json +1 -1
  11. data/lib/countries/cache/locales/de.json +1 -1
  12. data/lib/countries/cache/locales/ee.json +1 -1
  13. data/lib/countries/cache/locales/en.json +1 -1
  14. data/lib/countries/cache/locales/fr.json +1 -1
  15. data/lib/countries/cache/locales/gn.json +1 -1
  16. data/lib/countries/cache/locales/ja.json +1 -1
  17. data/lib/countries/cache/locales/ki.json +1 -1
  18. data/lib/countries/cache/locales/kl.json +1 -1
  19. data/lib/countries/cache/locales/lt.json +1 -1
  20. data/lib/countries/cache/locales/pt-br.json +1 -1
  21. data/lib/countries/cache/locales/sd.json +1 -1
  22. data/lib/countries/cache/locales/sw.json +1 -1
  23. data/lib/countries/cache/locales/th.json +1 -1
  24. data/lib/countries/cache/locales/tk.json +1 -1
  25. data/lib/countries/cache/locales/tl.json +1 -1
  26. data/lib/countries/cache/locales/ve.json +1 -1
  27. data/lib/countries/cache/locales/xh.json +1 -1
  28. data/lib/countries/configuration.rb +1 -1
  29. data/lib/countries/country/class_methods.rb +22 -23
  30. data/lib/countries/country/country_subdivision_methods.rb +82 -0
  31. data/lib/countries/country/currency_methods.rb +0 -1
  32. data/lib/countries/country/emoji.rb +1 -1
  33. data/lib/countries/country/finder_methods.rb +5 -7
  34. data/lib/countries/country.rb +27 -51
  35. data/lib/countries/data/countries/AD.yaml +1 -0
  36. data/lib/countries/data/countries/AE.yaml +1 -0
  37. data/lib/countries/data/countries/AF.yaml +1 -0
  38. data/lib/countries/data/countries/AG.yaml +1 -0
  39. data/lib/countries/data/countries/AI.yaml +1 -0
  40. data/lib/countries/data/countries/AL.yaml +1 -0
  41. data/lib/countries/data/countries/AM.yaml +1 -0
  42. data/lib/countries/data/countries/AO.yaml +1 -0
  43. data/lib/countries/data/countries/AQ.yaml +1 -0
  44. data/lib/countries/data/countries/AR.yaml +2 -0
  45. data/lib/countries/data/countries/AS.yaml +1 -0
  46. data/lib/countries/data/countries/AT.yaml +1 -0
  47. data/lib/countries/data/countries/AU.yaml +3 -0
  48. data/lib/countries/data/countries/AW.yaml +1 -0
  49. data/lib/countries/data/countries/AX.yaml +3 -0
  50. data/lib/countries/data/countries/AZ.yaml +1 -0
  51. data/lib/countries/data/countries/BA.yaml +1 -0
  52. data/lib/countries/data/countries/BB.yaml +1 -0
  53. data/lib/countries/data/countries/BD.yaml +1 -0
  54. data/lib/countries/data/countries/BE.yaml +1 -0
  55. data/lib/countries/data/countries/BF.yaml +1 -0
  56. data/lib/countries/data/countries/BG.yaml +1 -0
  57. data/lib/countries/data/countries/BH.yaml +1 -0
  58. data/lib/countries/data/countries/BI.yaml +1 -0
  59. data/lib/countries/data/countries/BJ.yaml +1 -0
  60. data/lib/countries/data/countries/BL.yaml +1 -0
  61. data/lib/countries/data/countries/BM.yaml +1 -0
  62. data/lib/countries/data/countries/BN.yaml +1 -0
  63. data/lib/countries/data/countries/BO.yaml +1 -0
  64. data/lib/countries/data/countries/BQ.yaml +1 -0
  65. data/lib/countries/data/countries/BR.yaml +2 -0
  66. data/lib/countries/data/countries/BS.yaml +2 -2
  67. data/lib/countries/data/countries/BT.yaml +1 -0
  68. data/lib/countries/data/countries/BV.yaml +1 -0
  69. data/lib/countries/data/countries/BW.yaml +1 -0
  70. data/lib/countries/data/countries/BY.yaml +1 -0
  71. data/lib/countries/data/countries/BZ.yaml +1 -0
  72. data/lib/countries/data/countries/CA.yaml +3 -0
  73. data/lib/countries/data/countries/CC.yaml +1 -0
  74. data/lib/countries/data/countries/CD.yaml +1 -0
  75. data/lib/countries/data/countries/CF.yaml +1 -0
  76. data/lib/countries/data/countries/CG.yaml +1 -0
  77. data/lib/countries/data/countries/CH.yaml +1 -0
  78. data/lib/countries/data/countries/CI.yaml +1 -0
  79. data/lib/countries/data/countries/CK.yaml +1 -0
  80. data/lib/countries/data/countries/CL.yaml +1 -0
  81. data/lib/countries/data/countries/CM.yaml +1 -0
  82. data/lib/countries/data/countries/CN.yaml +2 -0
  83. data/lib/countries/data/countries/CO.yaml +1 -0
  84. data/lib/countries/data/countries/CR.yaml +1 -0
  85. data/lib/countries/data/countries/CU.yaml +1 -0
  86. data/lib/countries/data/countries/CV.yaml +1 -0
  87. data/lib/countries/data/countries/CW.yaml +1 -0
  88. data/lib/countries/data/countries/CX.yaml +1 -0
  89. data/lib/countries/data/countries/CY.yaml +1 -0
  90. data/lib/countries/data/countries/CZ.yaml +3 -3
  91. data/lib/countries/data/countries/DE.yaml +3 -0
  92. data/lib/countries/data/countries/DJ.yaml +1 -0
  93. data/lib/countries/data/countries/DK.yaml +1 -0
  94. data/lib/countries/data/countries/DM.yaml +1 -0
  95. data/lib/countries/data/countries/DO.yaml +1 -0
  96. data/lib/countries/data/countries/DZ.yaml +1 -0
  97. data/lib/countries/data/countries/EC.yaml +1 -0
  98. data/lib/countries/data/countries/EE.yaml +1 -0
  99. data/lib/countries/data/countries/EG.yaml +1 -0
  100. data/lib/countries/data/countries/EH.yaml +1 -0
  101. data/lib/countries/data/countries/ER.yaml +1 -0
  102. data/lib/countries/data/countries/ES.yaml +1 -0
  103. data/lib/countries/data/countries/ET.yaml +1 -0
  104. data/lib/countries/data/countries/FI.yaml +1 -0
  105. data/lib/countries/data/countries/FJ.yaml +1 -0
  106. data/lib/countries/data/countries/FK.yaml +1 -0
  107. data/lib/countries/data/countries/FM.yaml +1 -0
  108. data/lib/countries/data/countries/FO.yaml +1 -0
  109. data/lib/countries/data/countries/FR.yaml +3 -0
  110. data/lib/countries/data/countries/GA.yaml +1 -0
  111. data/lib/countries/data/countries/GB.yaml +6 -0
  112. data/lib/countries/data/countries/GD.yaml +1 -0
  113. data/lib/countries/data/countries/GE.yaml +1 -0
  114. data/lib/countries/data/countries/GF.yaml +3 -0
  115. data/lib/countries/data/countries/GG.yaml +1 -0
  116. data/lib/countries/data/countries/GH.yaml +1 -0
  117. data/lib/countries/data/countries/GI.yaml +1 -0
  118. data/lib/countries/data/countries/GL.yaml +1 -0
  119. data/lib/countries/data/countries/GM.yaml +2 -1
  120. data/lib/countries/data/countries/GN.yaml +1 -0
  121. data/lib/countries/data/countries/GP.yaml +4 -1
  122. data/lib/countries/data/countries/GQ.yaml +1 -0
  123. data/lib/countries/data/countries/GR.yaml +1 -0
  124. data/lib/countries/data/countries/GS.yaml +1 -0
  125. data/lib/countries/data/countries/GT.yaml +1 -0
  126. data/lib/countries/data/countries/GU.yaml +1 -0
  127. data/lib/countries/data/countries/GW.yaml +1 -0
  128. data/lib/countries/data/countries/GY.yaml +1 -0
  129. data/lib/countries/data/countries/HK.yaml +1 -0
  130. data/lib/countries/data/countries/HM.yaml +1 -0
  131. data/lib/countries/data/countries/HN.yaml +1 -0
  132. data/lib/countries/data/countries/HR.yaml +2 -1
  133. data/lib/countries/data/countries/HT.yaml +1 -0
  134. data/lib/countries/data/countries/HU.yaml +1 -0
  135. data/lib/countries/data/countries/ID.yaml +2 -0
  136. data/lib/countries/data/countries/IE.yaml +1 -0
  137. data/lib/countries/data/countries/IL.yaml +1 -0
  138. data/lib/countries/data/countries/IM.yaml +1 -0
  139. data/lib/countries/data/countries/IN.yaml +2 -0
  140. data/lib/countries/data/countries/IO.yaml +1 -0
  141. data/lib/countries/data/countries/IQ.yaml +1 -0
  142. data/lib/countries/data/countries/IR.yaml +1 -0
  143. data/lib/countries/data/countries/IS.yaml +1 -0
  144. data/lib/countries/data/countries/IT.yaml +3 -0
  145. data/lib/countries/data/countries/JE.yaml +1 -0
  146. data/lib/countries/data/countries/JM.yaml +1 -0
  147. data/lib/countries/data/countries/JO.yaml +1 -0
  148. data/lib/countries/data/countries/JP.yaml +3 -0
  149. data/lib/countries/data/countries/KE.yaml +1 -0
  150. data/lib/countries/data/countries/KG.yaml +1 -0
  151. data/lib/countries/data/countries/KH.yaml +1 -0
  152. data/lib/countries/data/countries/KI.yaml +1 -0
  153. data/lib/countries/data/countries/KM.yaml +1 -0
  154. data/lib/countries/data/countries/KN.yaml +1 -0
  155. data/lib/countries/data/countries/KP.yaml +1 -0
  156. data/lib/countries/data/countries/KR.yaml +2 -0
  157. data/lib/countries/data/countries/KW.yaml +1 -0
  158. data/lib/countries/data/countries/KY.yaml +1 -0
  159. data/lib/countries/data/countries/KZ.yaml +1 -0
  160. data/lib/countries/data/countries/LA.yaml +1 -0
  161. data/lib/countries/data/countries/LB.yaml +2 -1
  162. data/lib/countries/data/countries/LC.yaml +1 -0
  163. data/lib/countries/data/countries/LI.yaml +3 -0
  164. data/lib/countries/data/countries/LK.yaml +1 -0
  165. data/lib/countries/data/countries/LR.yaml +1 -0
  166. data/lib/countries/data/countries/LS.yaml +1 -0
  167. data/lib/countries/data/countries/LT.yaml +1 -0
  168. data/lib/countries/data/countries/LU.yaml +1 -0
  169. data/lib/countries/data/countries/LV.yaml +1 -0
  170. data/lib/countries/data/countries/LY.yaml +1 -0
  171. data/lib/countries/data/countries/MA.yaml +1 -0
  172. data/lib/countries/data/countries/MC.yaml +3 -0
  173. data/lib/countries/data/countries/MD.yaml +1 -0
  174. data/lib/countries/data/countries/ME.yaml +1 -0
  175. data/lib/countries/data/countries/MF.yaml +4 -1
  176. data/lib/countries/data/countries/MG.yaml +1 -0
  177. data/lib/countries/data/countries/MH.yaml +1 -0
  178. data/lib/countries/data/countries/MK.yaml +2 -0
  179. data/lib/countries/data/countries/ML.yaml +1 -0
  180. data/lib/countries/data/countries/MM.yaml +2 -1
  181. data/lib/countries/data/countries/MN.yaml +1 -0
  182. data/lib/countries/data/countries/MO.yaml +1 -0
  183. data/lib/countries/data/countries/MP.yaml +1 -0
  184. data/lib/countries/data/countries/MQ.yaml +3 -0
  185. data/lib/countries/data/countries/MR.yaml +1 -0
  186. data/lib/countries/data/countries/MS.yaml +1 -0
  187. data/lib/countries/data/countries/MT.yaml +1 -0
  188. data/lib/countries/data/countries/MU.yaml +1 -0
  189. data/lib/countries/data/countries/MV.yaml +1 -0
  190. data/lib/countries/data/countries/MW.yaml +1 -0
  191. data/lib/countries/data/countries/MX.yaml +2 -0
  192. data/lib/countries/data/countries/MY.yaml +1 -0
  193. data/lib/countries/data/countries/MZ.yaml +1 -0
  194. data/lib/countries/data/countries/NA.yaml +1 -0
  195. data/lib/countries/data/countries/NC.yaml +1 -0
  196. data/lib/countries/data/countries/NE.yaml +1 -0
  197. data/lib/countries/data/countries/NF.yaml +1 -0
  198. data/lib/countries/data/countries/NG.yaml +1 -0
  199. data/lib/countries/data/countries/NI.yaml +1 -0
  200. data/lib/countries/data/countries/NL.yaml +2 -0
  201. data/lib/countries/data/countries/NO.yaml +1 -0
  202. data/lib/countries/data/countries/NP.yaml +1 -0
  203. data/lib/countries/data/countries/NR.yaml +1 -0
  204. data/lib/countries/data/countries/NU.yaml +1 -0
  205. data/lib/countries/data/countries/NZ.yaml +1 -0
  206. data/lib/countries/data/countries/OM.yaml +1 -0
  207. data/lib/countries/data/countries/PA.yaml +1 -0
  208. data/lib/countries/data/countries/PE.yaml +1 -0
  209. data/lib/countries/data/countries/PF.yaml +1 -0
  210. data/lib/countries/data/countries/PG.yaml +1 -0
  211. data/lib/countries/data/countries/PH.yaml +1 -0
  212. data/lib/countries/data/countries/PK.yaml +1 -0
  213. data/lib/countries/data/countries/PL.yaml +1 -0
  214. data/lib/countries/data/countries/PM.yaml +1 -0
  215. data/lib/countries/data/countries/PN.yaml +1 -0
  216. data/lib/countries/data/countries/PR.yaml +1 -0
  217. data/lib/countries/data/countries/PS.yaml +3 -0
  218. data/lib/countries/data/countries/PT.yaml +1 -0
  219. data/lib/countries/data/countries/PW.yaml +1 -0
  220. data/lib/countries/data/countries/PY.yaml +1 -0
  221. data/lib/countries/data/countries/QA.yaml +1 -0
  222. data/lib/countries/data/countries/RE.yaml +3 -0
  223. data/lib/countries/data/countries/RO.yaml +1 -0
  224. data/lib/countries/data/countries/RS.yaml +1 -0
  225. data/lib/countries/data/countries/RU.yaml +2 -0
  226. data/lib/countries/data/countries/RW.yaml +1 -0
  227. data/lib/countries/data/countries/SA.yaml +2 -0
  228. data/lib/countries/data/countries/SB.yaml +1 -0
  229. data/lib/countries/data/countries/SC.yaml +1 -0
  230. data/lib/countries/data/countries/SD.yaml +1 -0
  231. data/lib/countries/data/countries/SE.yaml +1 -0
  232. data/lib/countries/data/countries/SG.yaml +1 -0
  233. data/lib/countries/data/countries/SH.yaml +1 -0
  234. data/lib/countries/data/countries/SI.yaml +1 -0
  235. data/lib/countries/data/countries/SJ.yaml +1 -0
  236. data/lib/countries/data/countries/SK.yaml +1 -0
  237. data/lib/countries/data/countries/SL.yaml +1 -0
  238. data/lib/countries/data/countries/SM.yaml +1 -0
  239. data/lib/countries/data/countries/SN.yaml +1 -0
  240. data/lib/countries/data/countries/SO.yaml +1 -0
  241. data/lib/countries/data/countries/SR.yaml +1 -0
  242. data/lib/countries/data/countries/SS.yaml +1 -0
  243. data/lib/countries/data/countries/ST.yaml +1 -0
  244. data/lib/countries/data/countries/SV.yaml +1 -0
  245. data/lib/countries/data/countries/SX.yaml +1 -0
  246. data/lib/countries/data/countries/SY.yaml +1 -0
  247. data/lib/countries/data/countries/SZ.yaml +1 -0
  248. data/lib/countries/data/countries/TC.yaml +1 -0
  249. data/lib/countries/data/countries/TD.yaml +1 -0
  250. data/lib/countries/data/countries/TF.yaml +1 -0
  251. data/lib/countries/data/countries/TG.yaml +1 -0
  252. data/lib/countries/data/countries/TH.yaml +2 -0
  253. data/lib/countries/data/countries/TJ.yaml +1 -0
  254. data/lib/countries/data/countries/TK.yaml +1 -0
  255. data/lib/countries/data/countries/TL.yaml +1 -0
  256. data/lib/countries/data/countries/TM.yaml +2 -1
  257. data/lib/countries/data/countries/TN.yaml +1 -0
  258. data/lib/countries/data/countries/TO.yaml +1 -0
  259. data/lib/countries/data/countries/TR.yaml +4 -2
  260. data/lib/countries/data/countries/TT.yaml +1 -0
  261. data/lib/countries/data/countries/TV.yaml +1 -0
  262. data/lib/countries/data/countries/TW.yaml +16 -13
  263. data/lib/countries/data/countries/TZ.yaml +1 -0
  264. data/lib/countries/data/countries/UA.yaml +1 -0
  265. data/lib/countries/data/countries/UG.yaml +1 -0
  266. data/lib/countries/data/countries/UM.yaml +1 -0
  267. data/lib/countries/data/countries/US.yaml +4 -1
  268. data/lib/countries/data/countries/UY.yaml +1 -0
  269. data/lib/countries/data/countries/UZ.yaml +1 -0
  270. data/lib/countries/data/countries/VA.yaml +1 -0
  271. data/lib/countries/data/countries/VC.yaml +1 -0
  272. data/lib/countries/data/countries/VE.yaml +1 -0
  273. data/lib/countries/data/countries/VG.yaml +1 -0
  274. data/lib/countries/data/countries/VI.yaml +2 -0
  275. data/lib/countries/data/countries/VN.yaml +1 -0
  276. data/lib/countries/data/countries/VU.yaml +1 -0
  277. data/lib/countries/data/countries/WF.yaml +1 -0
  278. data/lib/countries/data/countries/WS.yaml +1 -0
  279. data/lib/countries/data/countries/YE.yaml +1 -0
  280. data/lib/countries/data/countries/YT.yaml +3 -0
  281. data/lib/countries/data/countries/ZA.yaml +2 -0
  282. data/lib/countries/data/countries/ZM.yaml +1 -0
  283. data/lib/countries/data/countries/ZW.yaml +1 -0
  284. data/lib/countries/data/locales_methods.rb +23 -0
  285. data/lib/countries/data/subdivision_methods.rb +30 -0
  286. data/lib/countries/data/subdivisions/AD.yaml +7 -0
  287. data/lib/countries/data/subdivisions/AE.yaml +24 -0
  288. data/lib/countries/data/subdivisions/AF.yaml +200 -1
  289. data/lib/countries/data/subdivisions/AG.yaml +17 -0
  290. data/lib/countries/data/subdivisions/AL.yaml +69 -0
  291. data/lib/countries/data/subdivisions/AM.yaml +44 -0
  292. data/lib/countries/data/subdivisions/AO.yaml +54 -0
  293. data/lib/countries/data/subdivisions/AR.yaml +69 -0
  294. data/lib/countries/data/subdivisions/AT.yaml +35 -0
  295. data/lib/countries/data/subdivisions/AU.yaml +37 -0
  296. data/lib/countries/data/subdivisions/AZ.yaml +316 -2
  297. data/lib/countries/data/subdivisions/BA.yaml +8 -0
  298. data/lib/countries/data/subdivisions/BB.yaml +15 -0
  299. data/lib/countries/data/subdivisions/BD.yaml +211 -0
  300. data/lib/countries/data/subdivisions/BE.yaml +34 -0
  301. data/lib/countries/data/subdivisions/BF.yaml +56 -0
  302. data/lib/countries/data/subdivisions/BG.yaml +30 -0
  303. data/lib/countries/data/subdivisions/BH.yaml +13 -0
  304. data/lib/countries/data/subdivisions/BI.yaml +54 -0
  305. data/lib/countries/data/subdivisions/BJ.yaml +22 -0
  306. data/lib/countries/data/subdivisions/BN.yaml +9 -0
  307. data/lib/countries/data/subdivisions/BO.yaml +35 -0
  308. data/lib/countries/data/subdivisions/BQ.yaml +4 -0
  309. data/lib/countries/data/subdivisions/BR.yaml +14 -0
  310. data/lib/countries/data/subdivisions/BS.yaml +24 -0
  311. data/lib/countries/data/subdivisions/BT.yaml +24 -0
  312. data/lib/countries/data/subdivisions/BW.yaml +24 -0
  313. data/lib/countries/data/subdivisions/BY.yaml +5 -0
  314. data/lib/countries/data/subdivisions/BZ.yaml +3 -0
  315. data/lib/countries/data/subdivisions/CA.yaml +24 -0
  316. data/lib/countries/data/subdivisions/CD.yaml +77 -0
  317. data/lib/countries/data/subdivisions/CF.yaml +15 -0
  318. data/lib/countries/data/subdivisions/CG.yaml +18 -0
  319. data/lib/countries/data/subdivisions/CH.yaml +92 -0
  320. data/lib/countries/data/subdivisions/CI.yaml +65 -0
  321. data/lib/countries/data/subdivisions/CL.yaml +45 -2
  322. data/lib/countries/data/subdivisions/CM.yaml +22 -0
  323. data/lib/countries/data/subdivisions/CN.yaml +98 -0
  324. data/lib/countries/data/subdivisions/CO.yaml +68 -0
  325. data/lib/countries/data/subdivisions/CR.yaml +14 -0
  326. data/lib/countries/data/subdivisions/CU.yaml +42 -0
  327. data/lib/countries/data/subdivisions/CV.yaml +32 -0
  328. data/lib/countries/data/subdivisions/CY.yaml +18 -0
  329. data/lib/countries/data/subdivisions/CZ.yaml +227 -0
  330. data/lib/countries/data/subdivisions/DE.yaml +31 -0
  331. data/lib/countries/data/subdivisions/DJ.yaml +16 -0
  332. data/lib/countries/data/subdivisions/DK.yaml +13 -0
  333. data/lib/countries/data/subdivisions/DM.yaml +1 -0
  334. data/lib/countries/data/subdivisions/DO.yaml +102 -0
  335. data/lib/countries/data/subdivisions/DZ.yaml +104 -0
  336. data/lib/countries/data/subdivisions/EC.yaml +72 -0
  337. data/lib/countries/data/subdivisions/EE.yaml +6 -0
  338. data/lib/countries/data/subdivisions/EG.yaml +54 -0
  339. data/lib/countries/data/subdivisions/ER.yaml +2 -0
  340. data/lib/countries/data/subdivisions/ES.yaml +252 -0
  341. data/lib/countries/data/subdivisions/ET.yaml +27 -0
  342. data/lib/countries/data/subdivisions/FI.yaml +78 -0
  343. data/lib/countries/data/subdivisions/FJ.yaml +30 -0
  344. data/lib/countries/data/subdivisions/FM.yaml +11 -0
  345. data/lib/countries/data/subdivisions/FR.yaml +332 -1
  346. data/lib/countries/data/subdivisions/GA.yaml +24 -0
  347. data/lib/countries/data/subdivisions/GB.yaml +488 -0
  348. data/lib/countries/data/subdivisions/GD.yaml +10 -0
  349. data/lib/countries/data/subdivisions/GE.yaml +34 -0
  350. data/lib/countries/data/subdivisions/GH.yaml +79 -0
  351. data/lib/countries/data/subdivisions/GL.yaml +58 -0
  352. data/lib/countries/data/subdivisions/GM.yaml +10 -0
  353. data/lib/countries/data/subdivisions/GN.yaml +65 -0
  354. data/lib/countries/data/subdivisions/GQ.yaml +36 -0
  355. data/lib/countries/data/subdivisions/GR.yaml +41 -0
  356. data/lib/countries/data/subdivisions/GW.yaml +24 -0
  357. data/lib/countries/data/subdivisions/GY.yaml +31 -0
  358. data/lib/countries/data/subdivisions/HN.yaml +21 -0
  359. data/lib/countries/data/subdivisions/HR.yaml +82 -0
  360. data/lib/countries/data/subdivisions/HT.yaml +14 -0
  361. data/lib/countries/data/subdivisions/HU.yaml +94 -0
  362. data/lib/countries/data/subdivisions/ID.yaml +99 -0
  363. data/lib/countries/data/subdivisions/IE.yaml +39 -0
  364. data/lib/countries/data/subdivisions/IL.yaml +15 -0
  365. data/lib/countries/data/subdivisions/IN.yaml +219 -9
  366. data/lib/countries/data/subdivisions/IQ.yaml +59 -0
  367. data/lib/countries/data/subdivisions/IR.yaml +34 -2
  368. data/lib/countries/data/subdivisions/IS.yaml +560 -0
  369. data/lib/countries/data/subdivisions/IT.yaml +321 -0
  370. data/lib/countries/data/subdivisions/JM.yaml +22 -0
  371. data/lib/countries/data/subdivisions/JO.yaml +16 -0
  372. data/lib/countries/data/subdivisions/JP.yaml +42 -0
  373. data/lib/countries/data/subdivisions/KE.yaml +298 -0
  374. data/lib/countries/data/subdivisions/KG.yaml +28 -0
  375. data/lib/countries/data/subdivisions/KH.yaml +108 -0
  376. data/lib/countries/data/subdivisions/KI.yaml +6 -0
  377. data/lib/countries/data/subdivisions/KM.yaml +4 -0
  378. data/lib/countries/data/subdivisions/KN.yaml +6 -0
  379. data/lib/countries/data/subdivisions/KP.yaml +42 -0
  380. data/lib/countries/data/subdivisions/KR.yaml +36 -0
  381. data/lib/countries/data/subdivisions/KW.yaml +5 -0
  382. data/lib/countries/data/subdivisions/KZ.yaml +127 -0
  383. data/lib/countries/data/subdivisions/LA.yaml +49 -0
  384. data/lib/countries/data/subdivisions/LB.yaml +28 -0
  385. data/lib/countries/data/subdivisions/LC.yaml +6 -0
  386. data/lib/countries/data/subdivisions/LI.yaml +37 -0
  387. data/lib/countries/data/subdivisions/LK.yaml +67 -0
  388. data/lib/countries/data/subdivisions/LR.yaml +16 -0
  389. data/lib/countries/data/subdivisions/LS.yaml +23 -0
  390. data/lib/countries/data/subdivisions/LT.yaml +315 -0
  391. data/lib/countries/data/subdivisions/LU.yaml +31 -0
  392. data/lib/countries/data/subdivisions/LV.yaml +83 -0
  393. data/lib/countries/data/subdivisions/LY.yaml +16 -0
  394. data/lib/countries/data/subdivisions/MA.yaml +827 -12
  395. data/lib/countries/data/subdivisions/MC.yaml +47 -0
  396. data/lib/countries/data/subdivisions/MD.yaml +41 -0
  397. data/lib/countries/data/subdivisions/ME.yaml +83 -0
  398. data/lib/countries/data/subdivisions/MG.yaml +21 -0
  399. data/lib/countries/data/subdivisions/MH.yaml +70 -0
  400. data/lib/countries/data/subdivisions/MK.yaml +505 -0
  401. data/lib/countries/data/subdivisions/ML.yaml +33 -0
  402. data/lib/countries/data/subdivisions/MM.yaml +51 -0
  403. data/lib/countries/data/subdivisions/MN.yaml +94 -0
  404. data/lib/countries/data/subdivisions/MR.yaml +32 -0
  405. data/lib/countries/data/subdivisions/MT.yaml +126 -0
  406. data/lib/countries/data/subdivisions/MU.yaml +21 -0
  407. data/lib/countries/data/subdivisions/MV.yaml +20 -0
  408. data/lib/countries/data/subdivisions/MW.yaml +52 -0
  409. data/lib/countries/data/subdivisions/MX.yaml +23 -0
  410. data/lib/countries/data/subdivisions/MY.yaml +24 -0
  411. data/lib/countries/data/subdivisions/MZ.yaml +20 -0
  412. data/lib/countries/data/subdivisions/NA.yaml +28 -0
  413. data/lib/countries/data/subdivisions/NE.yaml +9 -0
  414. data/lib/countries/data/subdivisions/NG.yaml +89 -0
  415. data/lib/countries/data/subdivisions/NI.yaml +25 -0
  416. data/lib/countries/data/subdivisions/NL.yaml +24 -0
  417. data/lib/countries/data/subdivisions/NO.yaml +138 -1
  418. data/lib/countries/data/subdivisions/NP.yaml +9 -0
  419. data/lib/countries/data/subdivisions/NR.yaml +19 -0
  420. data/lib/countries/data/subdivisions/NZ.yaml +34 -0
  421. data/lib/countries/data/subdivisions/OM.yaml +10 -0
  422. data/lib/countries/data/subdivisions/PA.yaml +27 -0
  423. data/lib/countries/data/subdivisions/PE.yaml +24 -0
  424. data/lib/countries/data/subdivisions/PG.yaml +46 -0
  425. data/lib/countries/data/subdivisions/PH.yaml +293 -0
  426. data/lib/countries/data/subdivisions/PK.yaml +22 -0
  427. data/lib/countries/data/subdivisions/PL.yaml +141 -0
  428. data/lib/countries/data/subdivisions/PS.yaml +41 -0
  429. data/lib/countries/data/subdivisions/PT.yaml +36 -0
  430. data/lib/countries/data/subdivisions/PW.yaml +24 -0
  431. data/lib/countries/data/subdivisions/PY.yaml +22 -1
  432. data/lib/countries/data/subdivisions/QA.yaml +26 -0
  433. data/lib/countries/data/subdivisions/RO.yaml +189 -0
  434. data/lib/countries/data/subdivisions/RS.yaml +112 -0
  435. data/lib/countries/data/subdivisions/RU.yaml +123 -0
  436. data/lib/countries/data/subdivisions/RW.yaml +7 -0
  437. data/lib/countries/data/subdivisions/SA.yaml +38 -0
  438. data/lib/countries/data/subdivisions/SB.yaml +11 -0
  439. data/lib/countries/data/subdivisions/SC.yaml +45 -0
  440. data/lib/countries/data/subdivisions/SD.yaml +15 -0
  441. data/lib/countries/data/subdivisions/SE.yaml +42 -0
  442. data/lib/countries/data/subdivisions/SG.yaml +8 -0
  443. data/lib/countries/data/subdivisions/SH.yaml +6 -0
  444. data/lib/countries/data/subdivisions/SI.yaml +735 -0
  445. data/lib/countries/data/subdivisions/SK.yaml +22 -0
  446. data/lib/countries/data/subdivisions/SL.yaml +7 -0
  447. data/lib/countries/data/subdivisions/SM.yaml +19 -0
  448. data/lib/countries/data/subdivisions/SN.yaml +43 -0
  449. data/lib/countries/data/subdivisions/SO.yaml +71 -0
  450. data/lib/countries/data/subdivisions/SR.yaml +17 -0
  451. data/lib/countries/data/subdivisions/SS.yaml +4 -0
  452. data/lib/countries/data/subdivisions/ST.yaml +127 -0
  453. data/lib/countries/data/subdivisions/SV.yaml +20 -0
  454. data/lib/countries/data/subdivisions/SY.yaml +53 -0
  455. data/lib/countries/data/subdivisions/SZ.yaml +18 -0
  456. data/lib/countries/data/subdivisions/TD.yaml +51 -0
  457. data/lib/countries/data/subdivisions/TG.yaml +13 -0
  458. data/lib/countries/data/subdivisions/TH.yaml +231 -0
  459. data/lib/countries/data/subdivisions/TJ.yaml +16 -1
  460. data/lib/countries/data/subdivisions/TL.yaml +38 -0
  461. data/lib/countries/data/subdivisions/TM.yaml +16 -1
  462. data/lib/countries/data/subdivisions/TN.yaml +25 -0
  463. data/lib/countries/data/subdivisions/TO.yaml +1 -0
  464. data/lib/countries/data/subdivisions/TR.yaml +93 -0
  465. data/lib/countries/data/subdivisions/TT.yaml +25 -0
  466. data/lib/countries/data/subdivisions/TV.yaml +25 -0
  467. data/lib/countries/data/subdivisions/TW.yaml +106 -0
  468. data/lib/countries/data/subdivisions/TZ.yaml +38 -0
  469. data/lib/countries/data/subdivisions/UA.yaml +108 -1
  470. data/lib/countries/data/subdivisions/UG.yaml +262 -0
  471. data/lib/countries/data/subdivisions/UM.yaml +4 -0
  472. data/lib/countries/data/subdivisions/US.yaml +166 -4
  473. data/lib/countries/data/subdivisions/UY.yaml +27 -0
  474. data/lib/countries/data/subdivisions/UZ.yaml +78 -1
  475. data/lib/countries/data/subdivisions/VC.yaml +6 -0
  476. data/lib/countries/data/subdivisions/VE.yaml +33 -0
  477. data/lib/countries/data/subdivisions/VN.yaml +131 -0
  478. data/lib/countries/data/subdivisions/VU.yaml +8 -0
  479. data/lib/countries/data/subdivisions/WS.yaml +18 -0
  480. data/lib/countries/data/subdivisions/YE.yaml +16 -0
  481. data/lib/countries/data/subdivisions/ZA.yaml +5 -0
  482. data/lib/countries/data/subdivisions/ZM.yaml +24 -0
  483. data/lib/countries/data/subdivisions/ZW.yaml +21 -0
  484. data/lib/countries/data/translations/countries-ab.yaml +1 -1
  485. data/lib/countries/data/translations/countries-ak.yaml +1 -1
  486. data/lib/countries/data/translations/countries-an.yaml +1 -1
  487. data/lib/countries/data/translations/countries-ar.yaml +1 -1
  488. data/lib/countries/data/translations/countries-ay.yaml +1 -1
  489. data/lib/countries/data/translations/countries-ba.yaml +1 -1
  490. data/lib/countries/data/translations/countries-bi.yaml +1 -1
  491. data/lib/countries/data/translations/countries-ch.yaml +1 -1
  492. data/lib/countries/data/translations/countries-de.yaml +2 -2
  493. data/lib/countries/data/translations/countries-ee.yaml +1 -1
  494. data/lib/countries/data/translations/countries-en.yaml +1 -1
  495. data/lib/countries/data/translations/countries-fr.yaml +7 -7
  496. data/lib/countries/data/translations/countries-gn.yaml +2 -2
  497. data/lib/countries/data/translations/countries-ja.yaml +4 -4
  498. data/lib/countries/data/translations/countries-ki.yaml +1 -1
  499. data/lib/countries/data/translations/countries-kl.yaml +1 -1
  500. data/lib/countries/data/translations/countries-lt.yaml +2 -2
  501. data/lib/countries/data/translations/countries-pt_BR.yaml +1 -1
  502. data/lib/countries/data/translations/countries-sd.yaml +1 -1
  503. data/lib/countries/data/translations/countries-sw.yaml +1 -1
  504. data/lib/countries/data/translations/countries-th.yaml +2 -2
  505. data/lib/countries/data/translations/countries-tk.yaml +88 -88
  506. data/lib/countries/data/translations/countries-tl.yaml +1 -1
  507. data/lib/countries/data/translations/countries-ve.yaml +1 -1
  508. data/lib/countries/data/translations/countries-xh.yaml +1 -1
  509. data/lib/countries/data.rb +31 -43
  510. data/lib/countries/global.rb +0 -1
  511. data/lib/countries/iso3166.rb +3 -1
  512. data/lib/countries/sources/cldr/subdivision.rb +1 -1
  513. data/lib/countries/structure.rb +1 -0
  514. data/lib/countries/subdivision.rb +5 -0
  515. data/lib/countries/tasks/postal_codes.rake +6 -2
  516. data/lib/countries/version.rb +1 -1
  517. data/lib/countries.rb +0 -2
  518. metadata +25 -44
  519. data/.github/workflows/codeql-analysis.yml +0 -70
  520. data/.github/workflows/tests.yml +0 -35
  521. data/.gitignore +0 -26
  522. data/.rspec +0 -2
  523. data/.rubocop.yml +0 -40
  524. data/.rubocop_todo.yml +0 -19
  525. data/CHANGELOG.md +0 -663
  526. data/Gemfile +0 -16
  527. data/LICENSE +0 -24
  528. data/README.markdown +0 -346
  529. data/Rakefile +0 -63
  530. data/UPGRADE.md +0 -39
  531. data/bin/console +0 -15
  532. data/countries.gemspec +0 -30
  533. data/lib/countries/kwarg_struct.rb +0 -14
  534. data/lib/countries/tasks/geocoding.rake +0 -106
  535. data/spec/00_global_spec.rb +0 -58
  536. data/spec/configuration_spec.rb +0 -60
  537. data/spec/country_spec.rb +0 -1131
  538. data/spec/data_spec.rb +0 -245
  539. data/spec/mongoid_spec.rb +0 -61
  540. data/spec/perf_spec.rb +0 -74
  541. data/spec/spec_helper.rb +0 -15
  542. data/spec/subdivision_spec.rb +0 -34
  543. data/spec/thread_safety_spec.rb +0 -47
  544. data/spec/timezone_spec.rb +0 -34
@@ -4,21 +4,21 @@
4
4
  #
5
5
  ---
6
6
  AD: Andorra
7
- AE: Birleşen Arap Emiratlary
7
+ AE: Birleşen Arap Emirlikleri
8
8
  AF: Owganystan
9
9
  AG: Antigua we Barbuda
10
- AI: Anguilla
10
+ AI: Angwilla
11
11
  AL: Albaniýa
12
12
  AM: Ermenistan
13
13
  AO: Angola
14
- AQ: Antarctica
14
+ AQ: Antarktika
15
15
  AR: Argentina
16
16
  AS: Samao Amerika
17
17
  AT: Awstriýa
18
18
  AU: Awstraliýa
19
19
  AW: Aruba
20
- AX: Aland Adalry
21
- AZ: Azerbeýjan
20
+ AX: Aland adalary
21
+ AZ: Äzerbeýjan
22
22
  BA: Bosniýa we Gersogowina
23
23
  BB: Barbados
24
24
  BD: Bangladeş
@@ -28,54 +28,54 @@ BG: Bolgariýa
28
28
  BH: Bahreýn
29
29
  BI: Burundi
30
30
  BJ: Benin
31
- BL: Saint Barthélemy
32
- BM: Bermud
31
+ BL: Sen-Bartelmi
32
+ BM: Bermud adalary
33
33
  BN: Bruneý Darussalam
34
34
  BO: Boliwiýa
35
- BQ: Bonaire, Sint Eustatius and Saba
35
+ BQ: Boneýr, Sint-Estatius we Saba
36
36
  BR: Braziliýa
37
- BS: Bahamas
37
+ BS: Bagama adalary
38
38
  BT: Butan
39
- BV: Bouvet Island
39
+ BV: Buwe adasy
40
40
  BW: Botswana
41
41
  BY: Belarus
42
42
  BZ: Beliz
43
43
  CA: Kanada
44
- CC: Cocos (Keeling) Islands
45
- CD: Kongo Demokratik Respublik
46
- CF: Merkezi Afrika Respublikasy
44
+ CC: Kokos (Kiling) adalary
45
+ CD: Kongo demokratik respublikasy
46
+ CF: Merkezi afrika respublikasy
47
47
  CG: Kongo
48
48
  CH: Şweýsariýa
49
49
  CI: Kot-D’’iwuar
50
- CK: Cook Islands
50
+ CK: Kuk adalary
51
51
  CL: Çili
52
52
  CM: Kamerun
53
- CN: China
53
+ CN: Hytaý
54
54
  CO: Kolumbiýa
55
55
  CR: Kosta-Rika
56
56
  CU: Kuba
57
- CV: Cabo Verde
58
- CW: Curaçao
59
- CX: Christmas Island
57
+ CV: Kabo-Werde
58
+ CW: Kürasao
59
+ CX: Roždestwo adalary
60
60
  CY: Kipr
61
- CZ: Czechia
61
+ CZ: Çehiýa
62
62
  DE: Germaniýa
63
63
  DJ: Jibuti
64
64
  DK: Daniýa
65
- DM: Dominiki
66
- DO: Dominakan Respublikasy
67
- DZ: Algerýa
65
+ DM: Dominika
66
+ DO: Dominakan respublikasy
67
+ DZ: Alžyr
68
68
  EC: Ekwador
69
69
  EE: Estoniýa
70
- EG: Egypt
71
- EH: Western Sahara
72
- ER: Eriteriýa
70
+ EG: Müsür
71
+ EH: Günbatar Sahara
72
+ ER: Eritreýa
73
73
  ES: Ispaniýa
74
74
  ET: Efiopiýa
75
75
  FI: Finlýandiýa
76
76
  FJ: Fiji
77
77
  FK: Folklend (Malwin) adalary
78
- FM: Mikroneziýa, Federatiw Ştatlary
78
+ FM: Mikroneziýa federatiw ştatlary
79
79
  FO: Farer adalary
80
80
  FR: Fransiýa
81
81
  GA: Gabon
@@ -83,7 +83,7 @@ GB: Birleşen Patyşalyk
83
83
  GD: Grenada
84
84
  GE: Gruziýa
85
85
  GF: Fransuz Gwiana
86
- GG: Guernsey
86
+ GG: Gernsi
87
87
  GH: Gana
88
88
  GI: Gibraltar
89
89
  GL: Grenlandiýa
@@ -91,75 +91,75 @@ GM: Gambiýa
91
91
  GN: Gwineýa
92
92
  GP: Gwadelupa
93
93
  GQ: Ekwatorial Gwineýa
94
- GR: Grek
95
- GS: South Georgia and the South Sandwich Islands
94
+ GR: Gresiýa
95
+ GS: Günorda Jorjiýa we Günorta Sendwiç adalary
96
96
  GT: Gwatemala
97
97
  GU: Guam
98
98
  GW: Gwineýa-Bisau
99
99
  GY: Gaýana
100
100
  HK: Gonkong
101
- HM: Heard Island and McDonald Islands
101
+ HM: Herd adasy we Makdonald adalary
102
102
  HN: Gonduras
103
103
  HR: Horwatiýa
104
104
  HT: Gaiti
105
105
  HU: Wengriýa
106
106
  ID: Indoneziýa
107
107
  IE: Irlandiýa
108
- IL: Izrail
109
- IM: Isle of Man
108
+ IL: Izraýyl
109
+ IM: Men adasy
110
110
  IN: Hindistan
111
- IO: British Indian Ocean Territory
112
- IQ: Irak
113
- IR: Eýran, Yslam Respublikasy
114
- IS: Islandia
111
+ IO: Hindi ummanynyň britan territoriýasy
112
+ IQ: Yrak
113
+ IR: Eýran yslam respublikasy
114
+ IS: Islandiýa
115
115
  IT: Italiýa
116
- JE: Jersey
116
+ JE: Jersi
117
117
  JM: Ýamaýka
118
- JO: Iordan
118
+ JO: Iordaniýa
119
119
  JP: Ýaponiýa
120
120
  KE: Keniýa
121
- KG: Gyrgyzystan
122
- KH: Kamboçiýa
121
+ KG: Gyrgyzstan
122
+ KH: Kambojiýa
123
123
  KI: Kiribati
124
124
  KM: Komor Adalary
125
- KN: Sent-Kitts we Newis
126
- KP: Koreýa, Halk Demokratik Respublikasy
127
- KR: Koreýa Respublikasy
125
+ KN: Sent-Kits we Newis
126
+ KP: Koreýa halk demokratik respublikasy
127
+ KR: Koreýa respublikasy
128
128
  KW: Kuweýt
129
- KY: Cayman Islands
129
+ KY: Kaýman adalary
130
130
  KZ: Gazagystan
131
- LA: Lao People's Democratic Republic
131
+ LA: Lao halk demokratik respublikasy
132
132
  LB: Liwan
133
- LC: Sent Lýusiýa
133
+ LC: Sent-Lýusiýa
134
134
  LI: Lihtenşteýn
135
135
  LK: Şri-Lanka
136
136
  LR: Liberiýa
137
137
  LS: Lesoto
138
- LT: Litwiýa
139
- LU: Lýuksenburg
140
- LV: Litwiýa
138
+ LT: Litwa
139
+ LU: Lýuksemburg
140
+ LV: Latwiýa
141
141
  LY: Liwiýa
142
142
  MA: Morokko
143
143
  MC: Monako
144
144
  MD: Moldawiýa
145
- ME: Montenegro
146
- MF: Saint Martin (French part)
145
+ ME: Çernogoriýa
146
+ MF: Sen-Marten (Fransuz tarapy)
147
147
  MG: Madagaskar
148
- MH: Marşalowlar adasy
149
- MK: North Macedonia
148
+ MH: Marşal adaslary
149
+ MK: Demirgazyk Makedoniýa
150
150
  ML: Mali
151
151
  MM: Birma
152
152
  MN: Mongoliýa
153
153
  MO: Makao
154
- MP: Northern Mariana Islands
154
+ MP: Demirgazyk Mariana adalary
155
155
  MQ: Martinika
156
156
  MR: Mawritaniýa
157
157
  MS: Montserrat
158
158
  MT: Malta
159
- MU: Mauritius
160
- MV: Maldiwa
159
+ MU: Mawrikiý
160
+ MV: Maldiw adalary
161
161
  MW: Malawi
162
- MX: Meksikanyň
162
+ MX: Meksika
163
163
  MY: Malaýziýa
164
164
  MZ: Mozambik
165
165
  NA: Namibiýa
@@ -177,49 +177,49 @@ NZ: Täze Zelandiýa
177
177
  OM: Oman
178
178
  PA: Panama
179
179
  PE: Peru
180
- PF: French Polynesia
180
+ PF: Fransuz Polineziýa
181
181
  PG: Papua-Täze Gwineýa
182
- PH: Filippinler
183
- PK: Pakystan
182
+ PH: Filippin adalary
183
+ PK: Päkistan
184
184
  PL: Polşa
185
- PM: Sen Pýer we Mikelon
186
- PN: Pitcairn
185
+ PM: Sen-Pýer we Mikelon
186
+ PN: Pitkern
187
187
  PR: Puerto-Riko
188
- PS: Palestine, State of
188
+ PS: Palestina
189
189
  PT: Portugaliýa
190
190
  PW: Palau
191
191
  PY: Paragwaý
192
192
  QA: Katar
193
- RE: Reýunon
193
+ RE: Reýunýon
194
194
  RO: Rumyniýa
195
195
  RS: Serbiýa
196
- RU: Russiýa Federasiýasy
197
- RW: Ruandiýa
198
- SA: Saud Arawiýa
199
- SB: Solomonowlar adasy
200
- SC: Seýşel Adalary
196
+ RU: Russiýa federasiýasy
197
+ RW: Ruanda
198
+ SA: Saud Arabystan
199
+ SB: Solomon adalary
200
+ SC: Seýşel adalary
201
201
  SD: Sudan
202
202
  SE: Şwesiýa
203
203
  SG: Singapur
204
- SH: Saint Helena, Ascension and Tristan da Cunha
204
+ SH: Mukaddes Ýelena adasy, Wozneseniýe adasy we Tristan-da-Kunýa
205
205
  SI: Sloweniýa
206
- SJ: Svalbard and Jan Mayen
207
- SK: Slowak
208
- SL: Serra-Leone
206
+ SJ: Şpitzbergen we Ýan-Maýen
207
+ SK: Slowakiýa
208
+ SL: Siýerra-Leone
209
209
  SM: San-Marino
210
210
  SN: Senegal
211
- SO: Somalia
211
+ SO: Somali
212
212
  SR: Surinam
213
213
  SS: Günorta Sudan
214
- ST: San-Tome we Prisipi
214
+ ST: San-Tome we Prinsipi
215
215
  SV: Salwador
216
- SX: Sint Maarten (Dutch part)
217
- SY: Siriýa Arap Respublikasy
216
+ SX: Sint-Marten (Golland tarapy)
217
+ SY: Siriýa arap respublikasy
218
218
  SZ: Eswatini
219
- TC: Turks and Caicos Islands
219
+ TC: Turks we Kaikos adalary
220
220
  TD: Çad
221
- TF: French Southern Territories
222
- TG: Togolez
221
+ TF: Fransuz günorta territoriýalary
222
+ TG: Togo
223
223
  TH: Taýland
224
224
  TJ: Täjigistan
225
225
  TK: Tokelau
@@ -227,25 +227,25 @@ TL: Timor-Leste
227
227
  TM: Türkmenistan
228
228
  TN: Tunis
229
229
  TO: Tonga
230
- TR: Türk
230
+ TR: Türkiýe
231
231
  TT: Trinidad we Tobago
232
232
  TV: Tuwalu
233
233
  TW: Taýwan
234
234
  TZ: Tanzaniýa
235
235
  UA: Ukraina
236
236
  UG: Uganda
237
- UM: United States Minor Outlying Islands
238
- US: Birleşen Ştatlar
237
+ UM: Kiçi Daş adalarynyň birleşen ştatlary
238
+ US: Amerikanyň Birleşen Ştatlary
239
239
  UY: Urugwaý
240
240
  UZ: Özbegistan
241
- VA: Watikan Dölet-şaheri
242
- VC: Sent-Winsent we Grenadinler
241
+ VA: Watikan döwlet-şäheri
242
+ VC: Sent-Winsent we Grenadin adalary
243
243
  VE: Wenesuela
244
- VG: Wirgin adalary, Britan
245
- VI: Wirgin adalary, ABŞ
244
+ VG: Britan Wirgin adalary
245
+ VI: ABŞ Wirgin adalary
246
246
  VN: Wýetnam
247
247
  VU: Wanuatu
248
- WF: Wallis and Futuna
248
+ WF: Wolles we Futana
249
249
  WS: Samoa
250
250
  YE: Ýemen
251
251
  YT: Maýotta
@@ -227,7 +227,7 @@ TL: Timor-Leste
227
227
  TM: Turkmenistan
228
228
  TN: Tunisia
229
229
  TO: Tonga
230
- TR: Turkey
230
+ TR: Türkiye
231
231
  TT: Trinidad at Tobago
232
232
  TV: Tuvalu
233
233
  TW: Taiwan
@@ -227,7 +227,7 @@ TL: Timor-Leste
227
227
  TM: Turkmenistan
228
228
  TN: Tunisia
229
229
  TO: Tonga
230
- TR: Turkey
230
+ TR: Türkiye
231
231
  TT: Trinidad and Tobago
232
232
  TV: Tuvalu
233
233
  TW: Taiwan
@@ -227,7 +227,7 @@ TL: Timor-Leste
227
227
  TM: Turkmenistan
228
228
  TN: Tunisia
229
229
  TO: Tonga
230
- TR: Turkey
230
+ TR: Türkiye
231
231
  TT: Trinidad ne Tobago
232
232
  TV: Tuvalu
233
233
  TW: Taiwan
@@ -3,11 +3,15 @@
3
3
  module ISO3166
4
4
  # Handles building the in memory store of countries data
5
5
  class Data
6
+ extend SubdivisionMethods
7
+ extend LocalesMethods
8
+
6
9
  @cache_dir = [File.dirname(__FILE__), 'cache']
7
10
  @cache = {}
8
11
  @loaded_country_codes = []
9
12
  @registered_data = {}
10
13
  @mutex = Mutex.new
14
+ @subdivisions = {}
11
15
 
12
16
  def initialize(alpha2)
13
17
  @alpha2 = alpha2.to_s.upcase
@@ -18,15 +22,13 @@ module ISO3166
18
22
  end
19
23
 
20
24
  class << self
21
-
22
25
  # Registers a new Country with custom data.
23
26
  # If you are overriding an existing country, this does not perform a deep merge so you will need to __bring in all data you wish to be available__.
24
27
  # Overriding an existing country will also remove it from the internal management of translations.
25
28
  def register(data)
26
29
  alpha2 = data[:alpha2].upcase
27
30
  @registered_data[alpha2] = deep_stringify_keys(data)
28
- @registered_data[alpha2]['translations'] = \
29
- Translations.new.merge(data['translations'] || {})
31
+ @registered_data[alpha2]['translations'] = Translations.new.merge(data['translations'] || {})
30
32
  @cache = cache.merge(@registered_data)
31
33
  end
32
34
 
@@ -43,9 +45,12 @@ module ISO3166
43
45
 
44
46
  # Resets the loaded data and cache
45
47
  def reset
46
- @cache = {}
47
- @registered_data = {}
48
- ISO3166.configuration.loaded_locales = []
48
+ synchronized do
49
+ @cache = {}
50
+ @subdivisions = {}
51
+ @registered_data = {}
52
+ ISO3166.configuration.loaded_locales = []
53
+ end
49
54
  end
50
55
 
51
56
  def codes
@@ -94,22 +99,11 @@ module ISO3166
94
99
  end
95
100
 
96
101
  def synchronized(&block)
97
- if use_mutex?
98
- @mutex.synchronize(&block)
99
- else
100
- block.call
101
- end
102
- end
103
-
104
- def use_mutex?
105
- # Stubbed in testing
106
- true
102
+ @mutex.synchronize(&block)
107
103
  end
108
104
 
109
105
  def load_required?
110
- synchronized do
111
- @cache.empty?
112
- end
106
+ synchronized { @cache.empty? }
113
107
  end
114
108
 
115
109
  def cached_codes
@@ -125,44 +119,36 @@ module ISO3166
125
119
  !locales_to_load.empty? || !locales_to_remove.empty?
126
120
  end
127
121
 
128
- def locales_to_load
129
- requested_locales - loaded_locales
130
- end
131
-
132
- def locales_to_remove
133
- loaded_locales - requested_locales
134
- end
135
-
136
- def requested_locales
137
- ISO3166.configuration.locales.map { |l| l.to_s.downcase }
138
- end
139
-
140
- def loaded_locales
141
- ISO3166.configuration.loaded_locales.map { |l| l.to_s.downcase }
142
- end
143
-
144
122
  def load_translations(locale)
145
123
  synchronized do
146
124
  locale_names = load_cache(['locales', "#{locale}.json"])
147
125
  internal_codes.each do |alpha2|
148
- @cache[alpha2]['translations'] ||= Translations.new
149
- @cache[alpha2]['translations'][locale] = locale_names[alpha2].freeze
150
- @cache[alpha2]['translated_names'] = @cache[alpha2]['translations'].values.freeze
126
+ load_alpha2_translation_for_locale(alpha2, locale, locale_names)
151
127
  end
152
128
  ISO3166.configuration.loaded_locales << locale
153
129
  end
154
130
  end
155
131
 
132
+ def load_alpha2_translation_for_locale(alpha2, locale, locale_names)
133
+ @cache[alpha2]['translations'] ||= Translations.new
134
+ @cache[alpha2]['translations'][locale] = locale_names[alpha2].freeze
135
+ @cache[alpha2]['translated_names'] = @cache[alpha2]['translations'].values.freeze
136
+ end
137
+
156
138
  def unload_translations(locale)
157
139
  synchronized do
158
140
  internal_codes.each do |alpha2|
159
- @cache[alpha2]['translations'].delete(locale)
160
- @cache[alpha2]['translated_names'] = @cache[alpha2]['translations'].values.freeze
141
+ unload_alpha2_translation_for_locale(alpha2, locale)
161
142
  end
162
143
  ISO3166.configuration.loaded_locales.delete(locale)
163
144
  end
164
145
  end
165
146
 
147
+ def unload_alpha2_translation_for_locale(alpha2, locale)
148
+ @cache[alpha2]['translations'].delete(locale)
149
+ @cache[alpha2]['translated_names'] = @cache[alpha2]['translations'].values.freeze
150
+ end
151
+
166
152
  def load_cache(file_array)
167
153
  file_path = datafile_path(file_array)
168
154
  File.exist?(file_path) ? JSON.parse(File.binread(file_path)) : {}
@@ -170,12 +156,14 @@ module ISO3166
170
156
 
171
157
  def deep_stringify_keys(data)
172
158
  data.transform_keys!(&:to_s)
173
- data.transform_values! do |v|
174
- v.is_a?(Hash) ? deep_stringify_keys(v) : v
175
- end
159
+ data.transform_values! { |v| v.is_a?(Hash) ? deep_stringify_keys(v) : v }
176
160
 
177
161
  data
178
162
  end
163
+
164
+ def subdivision_file_path(alpha2)
165
+ File.join(File.dirname(__FILE__), 'data', 'subdivisions', "#{alpha2}.yaml")
166
+ end
179
167
  end
180
168
  end
181
169
  end
@@ -15,5 +15,4 @@ require 'countries'
15
15
  # gem 'countries', require: 'countries/global'
16
16
  #
17
17
  class Country < ISO3166::Country
18
-
19
18
  end
@@ -3,11 +3,13 @@
3
3
  require 'yaml'
4
4
  require 'json'
5
5
 
6
- require 'countries/kwarg_struct'
7
6
  require 'countries/configuration'
7
+ require 'countries/data/locales_methods'
8
+ require 'countries/data/subdivision_methods'
8
9
  require 'countries/data'
9
10
  require 'countries/structure'
10
11
  require 'countries/translations'
12
+ require 'countries/country/country_subdivision_methods'
11
13
  require 'countries/country/class_methods'
12
14
  require 'countries/country/finder_methods'
13
15
  require 'countries/country/emoji'
@@ -20,7 +20,7 @@ module Sources
20
20
  end
21
21
 
22
22
  def code
23
- type[2..-1].upcase
23
+ type[2..].upcase
24
24
  end
25
25
 
26
26
  def type
@@ -8,6 +8,7 @@ module ISO3166
8
8
  'continent' => nil,
9
9
  'country_code' => nil,
10
10
  'currency_code' => nil,
11
+ 'distance_unit' => nil,
11
12
  'gec' => nil,
12
13
  'geo' => {
13
14
  'latitude' => nil,
@@ -19,5 +19,10 @@ module ISO3166
19
19
  def [](attr_name)
20
20
  send attr_name
21
21
  end
22
+
23
+ # @return [Hash] A hash with the subdivision code as key and the hash of translated subdivision names ( locale => name ) as value.
24
+ def code_with_translations
25
+ { code => translations }
26
+ end
22
27
  end
23
28
  end
@@ -7,7 +7,7 @@ namespace :postal_codes do
7
7
  require 'open-uri'
8
8
  require 'yaml'
9
9
 
10
- country_files = Dir['lib/countries/data/countries/*.yaml'].sort
10
+ country_files = Dir['lib/countries/data/countries/*.yaml']
11
11
 
12
12
  country_files.each do |country_file|
13
13
  yaml = YAML.load_file(country_file)
@@ -19,7 +19,11 @@ namespace :postal_codes do
19
19
  postal_code_format_index = data.find_index { |d| d[0] == 'postal_code_format' }
20
20
 
21
21
  response = URI.open("https://chromium-i18n.appspot.com/ssl-address/data/#{country_code}").read
22
- json = JSON.parse(response) rescue {}
22
+ json = begin
23
+ JSON.parse(response)
24
+ rescue StandardError
25
+ {}
26
+ end
23
27
  puts ' - Returned empty data. Skipping ' and next if json.empty?
24
28
 
25
29
  postal_code = ['postal_code', !json['zip'].nil?]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Countries
4
- VERSION = '5.1.0'.freeze
4
+ VERSION = '6.0.0'
5
5
  end
data/lib/countries.rb CHANGED
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'sixarm_ruby_unaccent'
4
-
5
3
  require 'countries/version'
6
4
 
7
5
  require 'countries/iso3166'