countries 6.0.1 → 8.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 (475) hide show
  1. checksums.yaml +4 -4
  2. data/lib/countries/cache/countries.json +1 -1
  3. data/lib/countries/cache/locales/bg.json +1 -1
  4. data/lib/countries/cache/locales/es.json +1 -1
  5. data/lib/countries/cache/locales/pt-br.json +1 -1
  6. data/lib/countries/configuration.rb +14 -2
  7. data/lib/countries/country/class_methods.rb +42 -21
  8. data/lib/countries/country/country_subdivision_methods.rb +20 -25
  9. data/lib/countries/country/emoji.rb +1 -1
  10. data/lib/countries/country/finder_methods.rb +28 -17
  11. data/lib/countries/country.rb +40 -5
  12. data/lib/countries/data/countries/AD.yaml +2 -0
  13. data/lib/countries/data/countries/AE.yaml +3 -0
  14. data/lib/countries/data/countries/AF.yaml +2 -0
  15. data/lib/countries/data/countries/AG.yaml +2 -0
  16. data/lib/countries/data/countries/AI.yaml +2 -0
  17. data/lib/countries/data/countries/AL.yaml +2 -0
  18. data/lib/countries/data/countries/AM.yaml +2 -1
  19. data/lib/countries/data/countries/AO.yaml +2 -0
  20. data/lib/countries/data/countries/AQ.yaml +1 -0
  21. data/lib/countries/data/countries/AR.yaml +3 -0
  22. data/lib/countries/data/countries/AS.yaml +1 -0
  23. data/lib/countries/data/countries/AT.yaml +2 -0
  24. data/lib/countries/data/countries/AU.yaml +2 -0
  25. data/lib/countries/data/countries/AW.yaml +2 -0
  26. data/lib/countries/data/countries/AX.yaml +2 -0
  27. data/lib/countries/data/countries/AZ.yaml +2 -0
  28. data/lib/countries/data/countries/BA.yaml +2 -0
  29. data/lib/countries/data/countries/BB.yaml +2 -0
  30. data/lib/countries/data/countries/BD.yaml +2 -0
  31. data/lib/countries/data/countries/BE.yaml +2 -0
  32. data/lib/countries/data/countries/BF.yaml +2 -0
  33. data/lib/countries/data/countries/BG.yaml +3 -1
  34. data/lib/countries/data/countries/BH.yaml +2 -0
  35. data/lib/countries/data/countries/BI.yaml +2 -0
  36. data/lib/countries/data/countries/BJ.yaml +2 -0
  37. data/lib/countries/data/countries/BL.yaml +1 -0
  38. data/lib/countries/data/countries/BM.yaml +1 -0
  39. data/lib/countries/data/countries/BN.yaml +2 -0
  40. data/lib/countries/data/countries/BO.yaml +2 -0
  41. data/lib/countries/data/countries/BQ.yaml +1 -0
  42. data/lib/countries/data/countries/BR.yaml +2 -0
  43. data/lib/countries/data/countries/BS.yaml +4 -0
  44. data/lib/countries/data/countries/BT.yaml +2 -0
  45. data/lib/countries/data/countries/BV.yaml +1 -0
  46. data/lib/countries/data/countries/BW.yaml +2 -0
  47. data/lib/countries/data/countries/BY.yaml +2 -0
  48. data/lib/countries/data/countries/BZ.yaml +2 -0
  49. data/lib/countries/data/countries/CA.yaml +3 -1
  50. data/lib/countries/data/countries/CC.yaml +2 -0
  51. data/lib/countries/data/countries/CD.yaml +5 -1
  52. data/lib/countries/data/countries/CF.yaml +3 -0
  53. data/lib/countries/data/countries/CG.yaml +4 -0
  54. data/lib/countries/data/countries/CH.yaml +7 -3
  55. data/lib/countries/data/countries/CI.yaml +2 -0
  56. data/lib/countries/data/countries/CK.yaml +2 -0
  57. data/lib/countries/data/countries/CL.yaml +2 -0
  58. data/lib/countries/data/countries/CM.yaml +2 -0
  59. data/lib/countries/data/countries/CN.yaml +2 -0
  60. data/lib/countries/data/countries/CO.yaml +2 -0
  61. data/lib/countries/data/countries/CR.yaml +2 -0
  62. data/lib/countries/data/countries/CU.yaml +2 -0
  63. data/lib/countries/data/countries/CV.yaml +2 -0
  64. data/lib/countries/data/countries/CW.yaml +2 -1
  65. data/lib/countries/data/countries/CX.yaml +1 -0
  66. data/lib/countries/data/countries/CY.yaml +2 -0
  67. data/lib/countries/data/countries/CZ.yaml +2 -0
  68. data/lib/countries/data/countries/DE.yaml +3 -1
  69. data/lib/countries/data/countries/DJ.yaml +2 -0
  70. data/lib/countries/data/countries/DK.yaml +2 -1
  71. data/lib/countries/data/countries/DM.yaml +2 -0
  72. data/lib/countries/data/countries/DO.yaml +4 -0
  73. data/lib/countries/data/countries/DZ.yaml +2 -0
  74. data/lib/countries/data/countries/EC.yaml +2 -0
  75. data/lib/countries/data/countries/EE.yaml +4 -1
  76. data/lib/countries/data/countries/EG.yaml +2 -0
  77. data/lib/countries/data/countries/EH.yaml +2 -0
  78. data/lib/countries/data/countries/ER.yaml +3 -1
  79. data/lib/countries/data/countries/ES.yaml +10 -0
  80. data/lib/countries/data/countries/ET.yaml +2 -0
  81. data/lib/countries/data/countries/FI.yaml +3 -1
  82. data/lib/countries/data/countries/FJ.yaml +2 -1
  83. data/lib/countries/data/countries/FK.yaml +3 -0
  84. data/lib/countries/data/countries/FM.yaml +2 -0
  85. data/lib/countries/data/countries/FO.yaml +3 -0
  86. data/lib/countries/data/countries/FR.yaml +3 -1
  87. data/lib/countries/data/countries/GA.yaml +2 -0
  88. data/lib/countries/data/countries/GB.yaml +7 -3
  89. data/lib/countries/data/countries/GD.yaml +2 -0
  90. data/lib/countries/data/countries/GE.yaml +2 -0
  91. data/lib/countries/data/countries/GF.yaml +1 -0
  92. data/lib/countries/data/countries/GG.yaml +2 -0
  93. data/lib/countries/data/countries/GH.yaml +2 -0
  94. data/lib/countries/data/countries/GI.yaml +2 -0
  95. data/lib/countries/data/countries/GL.yaml +2 -0
  96. data/lib/countries/data/countries/GM.yaml +4 -0
  97. data/lib/countries/data/countries/GN.yaml +2 -0
  98. data/lib/countries/data/countries/GP.yaml +1 -0
  99. data/lib/countries/data/countries/GQ.yaml +2 -0
  100. data/lib/countries/data/countries/GR.yaml +2 -0
  101. data/lib/countries/data/countries/GS.yaml +1 -0
  102. data/lib/countries/data/countries/GT.yaml +2 -0
  103. data/lib/countries/data/countries/GU.yaml +1 -0
  104. data/lib/countries/data/countries/GW.yaml +2 -0
  105. data/lib/countries/data/countries/GY.yaml +2 -0
  106. data/lib/countries/data/countries/HK.yaml +2 -0
  107. data/lib/countries/data/countries/HM.yaml +1 -0
  108. data/lib/countries/data/countries/HN.yaml +2 -0
  109. data/lib/countries/data/countries/HR.yaml +2 -0
  110. data/lib/countries/data/countries/HT.yaml +2 -0
  111. data/lib/countries/data/countries/HU.yaml +2 -0
  112. data/lib/countries/data/countries/ID.yaml +2 -0
  113. data/lib/countries/data/countries/IE.yaml +2 -0
  114. data/lib/countries/data/countries/IL.yaml +6 -4
  115. data/lib/countries/data/countries/IM.yaml +2 -0
  116. data/lib/countries/data/countries/IN.yaml +2 -0
  117. data/lib/countries/data/countries/IO.yaml +2 -0
  118. data/lib/countries/data/countries/IQ.yaml +2 -0
  119. data/lib/countries/data/countries/IR.yaml +2 -0
  120. data/lib/countries/data/countries/IS.yaml +2 -0
  121. data/lib/countries/data/countries/IT.yaml +3 -1
  122. data/lib/countries/data/countries/JE.yaml +2 -0
  123. data/lib/countries/data/countries/JM.yaml +2 -0
  124. data/lib/countries/data/countries/JO.yaml +2 -0
  125. data/lib/countries/data/countries/JP.yaml +3 -1
  126. data/lib/countries/data/countries/KE.yaml +2 -0
  127. data/lib/countries/data/countries/KG.yaml +2 -0
  128. data/lib/countries/data/countries/KH.yaml +2 -0
  129. data/lib/countries/data/countries/KI.yaml +2 -0
  130. data/lib/countries/data/countries/KM.yaml +3 -0
  131. data/lib/countries/data/countries/KN.yaml +2 -0
  132. data/lib/countries/data/countries/KP.yaml +4 -0
  133. data/lib/countries/data/countries/KR.yaml +3 -0
  134. data/lib/countries/data/countries/KW.yaml +2 -0
  135. data/lib/countries/data/countries/KY.yaml +2 -0
  136. data/lib/countries/data/countries/KZ.yaml +2 -0
  137. data/lib/countries/data/countries/LA.yaml +3 -0
  138. data/lib/countries/data/countries/LB.yaml +2 -0
  139. data/lib/countries/data/countries/LC.yaml +2 -0
  140. data/lib/countries/data/countries/LI.yaml +2 -0
  141. data/lib/countries/data/countries/LK.yaml +2 -0
  142. data/lib/countries/data/countries/LR.yaml +2 -0
  143. data/lib/countries/data/countries/LS.yaml +2 -0
  144. data/lib/countries/data/countries/LT.yaml +2 -0
  145. data/lib/countries/data/countries/LU.yaml +2 -0
  146. data/lib/countries/data/countries/LV.yaml +2 -0
  147. data/lib/countries/data/countries/LY.yaml +2 -0
  148. data/lib/countries/data/countries/MA.yaml +2 -0
  149. data/lib/countries/data/countries/MC.yaml +2 -0
  150. data/lib/countries/data/countries/MD.yaml +4 -0
  151. data/lib/countries/data/countries/ME.yaml +2 -0
  152. data/lib/countries/data/countries/MF.yaml +1 -0
  153. data/lib/countries/data/countries/MG.yaml +2 -0
  154. data/lib/countries/data/countries/MH.yaml +3 -0
  155. data/lib/countries/data/countries/MK.yaml +2 -0
  156. data/lib/countries/data/countries/ML.yaml +2 -0
  157. data/lib/countries/data/countries/MM.yaml +3 -0
  158. data/lib/countries/data/countries/MN.yaml +2 -0
  159. data/lib/countries/data/countries/MO.yaml +1 -0
  160. data/lib/countries/data/countries/MP.yaml +3 -0
  161. data/lib/countries/data/countries/MQ.yaml +1 -0
  162. data/lib/countries/data/countries/MR.yaml +2 -0
  163. data/lib/countries/data/countries/MS.yaml +1 -0
  164. data/lib/countries/data/countries/MT.yaml +2 -0
  165. data/lib/countries/data/countries/MU.yaml +2 -0
  166. data/lib/countries/data/countries/MV.yaml +2 -0
  167. data/lib/countries/data/countries/MW.yaml +2 -0
  168. data/lib/countries/data/countries/MX.yaml +2 -0
  169. data/lib/countries/data/countries/MY.yaml +2 -0
  170. data/lib/countries/data/countries/MZ.yaml +2 -0
  171. data/lib/countries/data/countries/NA.yaml +2 -0
  172. data/lib/countries/data/countries/NC.yaml +2 -0
  173. data/lib/countries/data/countries/NE.yaml +3 -0
  174. data/lib/countries/data/countries/NF.yaml +1 -0
  175. data/lib/countries/data/countries/NG.yaml +2 -0
  176. data/lib/countries/data/countries/NI.yaml +2 -0
  177. data/lib/countries/data/countries/NL.yaml +3 -0
  178. data/lib/countries/data/countries/NO.yaml +2 -0
  179. data/lib/countries/data/countries/NP.yaml +2 -0
  180. data/lib/countries/data/countries/NR.yaml +2 -0
  181. data/lib/countries/data/countries/NU.yaml +1 -0
  182. data/lib/countries/data/countries/NZ.yaml +2 -0
  183. data/lib/countries/data/countries/OM.yaml +2 -0
  184. data/lib/countries/data/countries/PA.yaml +2 -0
  185. data/lib/countries/data/countries/PE.yaml +2 -0
  186. data/lib/countries/data/countries/PF.yaml +1 -0
  187. data/lib/countries/data/countries/PG.yaml +2 -0
  188. data/lib/countries/data/countries/PH.yaml +3 -0
  189. data/lib/countries/data/countries/PK.yaml +2 -0
  190. data/lib/countries/data/countries/PL.yaml +2 -0
  191. data/lib/countries/data/countries/PM.yaml +1 -0
  192. data/lib/countries/data/countries/PN.yaml +1 -0
  193. data/lib/countries/data/countries/PR.yaml +3 -0
  194. data/lib/countries/data/countries/PS.yaml +2 -0
  195. data/lib/countries/data/countries/PT.yaml +2 -0
  196. data/lib/countries/data/countries/PW.yaml +2 -0
  197. data/lib/countries/data/countries/PY.yaml +3 -1
  198. data/lib/countries/data/countries/QA.yaml +2 -0
  199. data/lib/countries/data/countries/RE.yaml +1 -0
  200. data/lib/countries/data/countries/RO.yaml +4 -3
  201. data/lib/countries/data/countries/RS.yaml +2 -0
  202. data/lib/countries/data/countries/RU.yaml +4 -0
  203. data/lib/countries/data/countries/RW.yaml +2 -0
  204. data/lib/countries/data/countries/SA.yaml +7 -5
  205. data/lib/countries/data/countries/SB.yaml +2 -0
  206. data/lib/countries/data/countries/SC.yaml +2 -0
  207. data/lib/countries/data/countries/SD.yaml +3 -0
  208. data/lib/countries/data/countries/SE.yaml +2 -0
  209. data/lib/countries/data/countries/SG.yaml +2 -0
  210. data/lib/countries/data/countries/SH.yaml +1 -0
  211. data/lib/countries/data/countries/SI.yaml +2 -0
  212. data/lib/countries/data/countries/SJ.yaml +1 -0
  213. data/lib/countries/data/countries/SK.yaml +5 -3
  214. data/lib/countries/data/countries/SL.yaml +3 -1
  215. data/lib/countries/data/countries/SM.yaml +2 -0
  216. data/lib/countries/data/countries/SN.yaml +2 -0
  217. data/lib/countries/data/countries/SO.yaml +2 -0
  218. data/lib/countries/data/countries/SR.yaml +2 -0
  219. data/lib/countries/data/countries/SS.yaml +2 -0
  220. data/lib/countries/data/countries/ST.yaml +3 -1
  221. data/lib/countries/data/countries/SV.yaml +2 -0
  222. data/lib/countries/data/countries/SX.yaml +2 -1
  223. data/lib/countries/data/countries/SY.yaml +2 -0
  224. data/lib/countries/data/countries/SZ.yaml +2 -0
  225. data/lib/countries/data/countries/TC.yaml +2 -0
  226. data/lib/countries/data/countries/TD.yaml +2 -0
  227. data/lib/countries/data/countries/TF.yaml +2 -0
  228. data/lib/countries/data/countries/TG.yaml +2 -0
  229. data/lib/countries/data/countries/TH.yaml +2 -0
  230. data/lib/countries/data/countries/TJ.yaml +2 -0
  231. data/lib/countries/data/countries/TK.yaml +1 -0
  232. data/lib/countries/data/countries/TL.yaml +2 -0
  233. data/lib/countries/data/countries/TM.yaml +2 -0
  234. data/lib/countries/data/countries/TN.yaml +2 -0
  235. data/lib/countries/data/countries/TO.yaml +2 -0
  236. data/lib/countries/data/countries/TR.yaml +2 -0
  237. data/lib/countries/data/countries/TT.yaml +2 -0
  238. data/lib/countries/data/countries/TV.yaml +2 -0
  239. data/lib/countries/data/countries/TW.yaml +18 -14
  240. data/lib/countries/data/countries/TZ.yaml +2 -0
  241. data/lib/countries/data/countries/UA.yaml +2 -0
  242. data/lib/countries/data/countries/UG.yaml +2 -0
  243. data/lib/countries/data/countries/UM.yaml +3 -0
  244. data/lib/countries/data/countries/US.yaml +5 -1
  245. data/lib/countries/data/countries/UY.yaml +2 -0
  246. data/lib/countries/data/countries/UZ.yaml +2 -1
  247. data/lib/countries/data/countries/VA.yaml +6 -1
  248. data/lib/countries/data/countries/VC.yaml +2 -0
  249. data/lib/countries/data/countries/VE.yaml +2 -0
  250. data/lib/countries/data/countries/VG.yaml +2 -0
  251. data/lib/countries/data/countries/VI.yaml +2 -0
  252. data/lib/countries/data/countries/VN.yaml +2 -0
  253. data/lib/countries/data/countries/VU.yaml +2 -0
  254. data/lib/countries/data/countries/WF.yaml +1 -0
  255. data/lib/countries/data/countries/WS.yaml +2 -0
  256. data/lib/countries/data/countries/YE.yaml +2 -0
  257. data/lib/countries/data/countries/YT.yaml +1 -0
  258. data/lib/countries/data/countries/ZA.yaml +2 -0
  259. data/lib/countries/data/countries/ZM.yaml +2 -0
  260. data/lib/countries/data/countries/ZW.yaml +2 -0
  261. data/lib/countries/data/locales_methods.rb +4 -2
  262. data/lib/countries/data/subdivision_methods.rb +5 -2
  263. data/lib/countries/data/subdivisions/AD.yaml +8 -11
  264. data/lib/countries/data/subdivisions/AE.yaml +9 -15
  265. data/lib/countries/data/subdivisions/AF.yaml +36 -85
  266. data/lib/countries/data/subdivisions/AG.yaml +22 -31
  267. data/lib/countries/data/subdivisions/AL.yaml +12 -38
  268. data/lib/countries/data/subdivisions/AM.yaml +25 -44
  269. data/lib/countries/data/subdivisions/AO.yaml +44 -49
  270. data/lib/countries/data/subdivisions/AR.yaml +70 -76
  271. data/lib/countries/data/subdivisions/AT.yaml +13 -22
  272. data/lib/countries/data/subdivisions/AU.yaml +24 -28
  273. data/lib/countries/data/subdivisions/AZ.yaml +224 -271
  274. data/lib/countries/data/subdivisions/BA.yaml +7 -20
  275. data/lib/countries/data/subdivisions/BB.yaml +33 -34
  276. data/lib/countries/data/subdivisions/BD.yaml +82 -267
  277. data/lib/countries/data/subdivisions/BE.yaml +13 -43
  278. data/lib/countries/data/subdivisions/BF.yaml +142 -267
  279. data/lib/countries/data/subdivisions/BG.yaml +84 -84
  280. data/lib/countries/data/subdivisions/BH.yaml +6 -13
  281. data/lib/countries/data/subdivisions/BI.yaml +42 -74
  282. data/lib/countries/data/subdivisions/BJ.yaml +32 -34
  283. data/lib/countries/data/subdivisions/BN.yaml +12 -16
  284. data/lib/countries/data/subdivisions/BO.yaml +27 -27
  285. data/lib/countries/data/subdivisions/BQ.yaml +9 -9
  286. data/lib/countries/data/subdivisions/BR.yaml +81 -89
  287. data/lib/countries/data/subdivisions/BS.yaml +49 -260
  288. data/lib/countries/data/subdivisions/BT.yaml +24 -44
  289. data/lib/countries/data/subdivisions/BW.yaml +32 -98
  290. data/lib/countries/data/subdivisions/BY.yaml +7 -44
  291. data/lib/countries/data/subdivisions/BZ.yaml +18 -19
  292. data/lib/countries/data/subdivisions/CA.yaml +13 -31
  293. data/lib/countries/data/subdivisions/CD.yaml +38 -211
  294. data/lib/countries/data/subdivisions/CF.yaml +37 -44
  295. data/lib/countries/data/subdivisions/CG.yaml +30 -41
  296. data/lib/countries/data/subdivisions/CH.yaml +34 -58
  297. data/lib/countries/data/subdivisions/CI.yaml +14 -140
  298. data/lib/countries/data/subdivisions/CL.yaml +33 -45
  299. data/lib/countries/data/subdivisions/CM.yaml +26 -28
  300. data/lib/countries/data/subdivisions/CN.yaml +52 -33
  301. data/lib/countries/data/subdivisions/CO.yaml +97 -105
  302. data/lib/countries/data/subdivisions/CR.yaml +24 -24
  303. data/lib/countries/data/subdivisions/CU.yaml +48 -52
  304. data/lib/countries/data/subdivisions/CV.yaml +56 -145
  305. data/lib/countries/data/subdivisions/CY.yaml +18 -18
  306. data/lib/countries/data/subdivisions/CZ.yaml +106 -106
  307. data/lib/countries/data/subdivisions/DE.yaml +24 -37
  308. data/lib/countries/data/subdivisions/DJ.yaml +8 -13
  309. data/lib/countries/data/subdivisions/DK.yaml +5 -13
  310. data/lib/countries/data/subdivisions/DM.yaml +30 -30
  311. data/lib/countries/data/subdivisions/DO.yaml +102 -210
  312. data/lib/countries/data/subdivisions/DZ.yaml +48 -103
  313. data/lib/countries/data/subdivisions/EC.yaml +72 -77
  314. data/lib/countries/data/subdivisions/EE.yaml +15 -30
  315. data/lib/countries/data/subdivisions/EG.yaml +27 -55
  316. data/lib/countries/data/subdivisions/ER.yaml +18 -20
  317. data/lib/countries/data/subdivisions/ES.yaml +69 -284
  318. data/lib/countries/data/subdivisions/ET.yaml +29 -33
  319. data/lib/countries/data/subdivisions/FI.yaml +33 -35
  320. data/lib/countries/data/subdivisions/FJ.yaml +29 -155
  321. data/lib/countries/data/subdivisions/FM.yaml +6 -13
  322. data/lib/countries/data/subdivisions/FR.yaml +321 -483
  323. data/lib/countries/data/subdivisions/GA.yaml +23 -25
  324. data/lib/countries/data/subdivisions/GB.yaml +562 -847
  325. data/lib/countries/data/subdivisions/GD.yaml +21 -23
  326. data/lib/countries/data/subdivisions/GE.yaml +20 -30
  327. data/lib/countries/data/subdivisions/GH.yaml +24 -40
  328. data/lib/countries/data/subdivisions/GL.yaml +3 -36
  329. data/lib/countries/data/subdivisions/GM.yaml +10 -19
  330. data/lib/countries/data/subdivisions/GN.yaml +107 -176
  331. data/lib/countries/data/subdivisions/GQ.yaml +27 -32
  332. data/lib/countries/data/subdivisions/GR.yaml +14 -123
  333. data/lib/countries/data/subdivisions/GT.yaml +64 -69
  334. data/lib/countries/data/subdivisions/GW.yaml +28 -60
  335. data/lib/countries/data/subdivisions/GY.yaml +30 -33
  336. data/lib/countries/data/subdivisions/HN.yaml +54 -56
  337. data/lib/countries/data/subdivisions/HR.yaml +21 -44
  338. data/lib/countries/data/subdivisions/HT.yaml +24 -35
  339. data/lib/countries/data/subdivisions/HU.yaml +129 -130
  340. data/lib/countries/data/subdivisions/ID.yaml +41 -143
  341. data/lib/countries/data/subdivisions/IE.yaml +30 -90
  342. data/lib/countries/data/subdivisions/IL.yaml +8 -17
  343. data/lib/countries/data/subdivisions/IN.yaml +88 -119
  344. data/lib/countries/data/subdivisions/IQ.yaml +20 -54
  345. data/lib/countries/data/subdivisions/IR.yaml +61 -93
  346. data/lib/countries/data/subdivisions/IS.yaml +27 -31
  347. data/lib/countries/data/subdivisions/IT.yaml +131 -332
  348. data/lib/countries/data/subdivisions/JM.yaml +42 -42
  349. data/lib/countries/data/subdivisions/JO.yaml +14 -61
  350. data/lib/countries/data/subdivisions/JP.yaml +95 -122
  351. data/lib/countries/data/subdivisions/KE.yaml +49 -467
  352. data/lib/countries/data/subdivisions/KG.yaml +15 -29
  353. data/lib/countries/data/subdivisions/KH.yaml +25 -85
  354. data/lib/countries/data/subdivisions/KI.yaml +7 -14
  355. data/lib/countries/data/subdivisions/KM.yaml +3 -6
  356. data/lib/countries/data/subdivisions/KN.yaml +44 -78
  357. data/lib/countries/data/subdivisions/KP.yaml +11 -116
  358. data/lib/countries/data/subdivisions/KR.yaml +21 -75
  359. data/lib/countries/data/subdivisions/KW.yaml +8 -13
  360. data/lib/countries/data/subdivisions/KZ.yaml +22 -38
  361. data/lib/countries/data/subdivisions/LA.yaml +24 -48
  362. data/lib/countries/data/subdivisions/LB.yaml +8 -55
  363. data/lib/countries/data/subdivisions/LC.yaml +10 -101
  364. data/lib/countries/data/subdivisions/LI.yaml +31 -72
  365. data/lib/countries/data/subdivisions/LK.yaml +52 -151
  366. data/lib/countries/data/subdivisions/LR.yaml +43 -63
  367. data/lib/countries/data/subdivisions/LS.yaml +30 -30
  368. data/lib/countries/data/subdivisions/LT.yaml +78 -632
  369. data/lib/countries/data/subdivisions/LU.yaml +12 -79
  370. data/lib/countries/data/subdivisions/LV.yaml +126 -347
  371. data/lib/countries/data/subdivisions/LY.yaml +48 -74
  372. data/lib/countries/data/subdivisions/MA.yaml +199 -288
  373. data/lib/countries/data/subdivisions/MC.yaml +17 -173
  374. data/lib/countries/data/subdivisions/MD.yaml +57 -318
  375. data/lib/countries/data/subdivisions/ME.yaml +65 -86
  376. data/lib/countries/data/subdivisions/MG.yaml +6 -12
  377. data/lib/countries/data/subdivisions/MH.yaml +50 -112
  378. data/lib/countries/data/subdivisions/MK.yaml +237 -241
  379. data/lib/countries/data/subdivisions/ML.yaml +27 -32
  380. data/lib/countries/data/subdivisions/MM.yaml +29 -45
  381. data/lib/countries/data/subdivisions/MN.yaml +36 -51
  382. data/lib/countries/data/subdivisions/MR.yaml +21 -62
  383. data/lib/countries/data/subdivisions/MT.yaml +190 -206
  384. data/lib/countries/data/subdivisions/MU.yaml +36 -44
  385. data/lib/countries/data/subdivisions/MV.yaml +21 -49
  386. data/lib/countries/data/subdivisions/MW.yaml +85 -121
  387. data/lib/countries/data/subdivisions/MX.yaml +96 -105
  388. data/lib/countries/data/subdivisions/MY.yaml +46 -47
  389. data/lib/countries/data/subdivisions/MZ.yaml +33 -33
  390. data/lib/countries/data/subdivisions/NA.yaml +40 -41
  391. data/lib/countries/data/subdivisions/NE.yaml +22 -23
  392. data/lib/countries/data/subdivisions/NG.yaml +105 -109
  393. data/lib/countries/data/subdivisions/NI.yaml +47 -52
  394. data/lib/countries/data/subdivisions/NL.yaml +38 -96
  395. data/lib/countries/data/subdivisions/NO.yaml +18 -80
  396. data/lib/countries/data/subdivisions/NP.yaml +117 -134
  397. data/lib/countries/data/subdivisions/NR.yaml +40 -41
  398. data/lib/countries/data/subdivisions/NZ.yaml +47 -50
  399. data/lib/countries/data/subdivisions/OM.yaml +15 -76
  400. data/lib/countries/data/subdivisions/PA.yaml +39 -65
  401. data/lib/countries/data/subdivisions/PE.yaml +70 -79
  402. data/lib/countries/data/subdivisions/PG.yaml +31 -76
  403. data/lib/countries/data/subdivisions/PH.yaml +252 -437
  404. data/lib/countries/data/subdivisions/PK.yaml +17 -35
  405. data/lib/countries/data/subdivisions/PL.yaml +16 -16
  406. data/lib/countries/data/subdivisions/PS.yaml +16 -163
  407. data/lib/countries/data/subdivisions/PT.yaml +60 -60
  408. data/lib/countries/data/subdivisions/PW.yaml +44 -50
  409. data/lib/countries/data/subdivisions/PY.yaml +50 -53
  410. data/lib/countries/data/subdivisions/QA.yaml +7 -26
  411. data/lib/countries/data/subdivisions/RO.yaml +80 -103
  412. data/lib/countries/data/subdivisions/RS.yaml +92 -133
  413. data/lib/countries/data/subdivisions/RU.yaml +89 -197
  414. data/lib/countries/data/subdivisions/RW.yaml +15 -15
  415. data/lib/countries/data/subdivisions/SA.yaml +15 -28
  416. data/lib/countries/data/subdivisions/SB.yaml +22 -27
  417. data/lib/countries/data/subdivisions/SC.yaml +71 -94
  418. data/lib/countries/data/subdivisions/SD.yaml +18 -67
  419. data/lib/countries/data/subdivisions/SE.yaml +57 -60
  420. data/lib/countries/data/subdivisions/SG.yaml +15 -22
  421. data/lib/countries/data/subdivisions/SH.yaml +7 -18
  422. data/lib/countries/data/subdivisions/SI.yaml +598 -803
  423. data/lib/countries/data/subdivisions/SK.yaml +24 -24
  424. data/lib/countries/data/subdivisions/SL.yaml +12 -15
  425. data/lib/countries/data/subdivisions/SM.yaml +23 -25
  426. data/lib/countries/data/subdivisions/SN.yaml +36 -63
  427. data/lib/countries/data/subdivisions/SO.yaml +54 -54
  428. data/lib/countries/data/subdivisions/SR.yaml +30 -30
  429. data/lib/countries/data/subdivisions/SS.yaml +10 -107
  430. data/lib/countries/data/subdivisions/ST.yaml +3 -3
  431. data/lib/countries/data/subdivisions/SV.yaml +42 -42
  432. data/lib/countries/data/subdivisions/SY.yaml +16 -41
  433. data/lib/countries/data/subdivisions/SZ.yaml +10 -11
  434. data/lib/countries/data/subdivisions/TD.yaml +57 -114
  435. data/lib/countries/data/subdivisions/TG.yaml +15 -15
  436. data/lib/countries/data/subdivisions/TH.yaml +222 -240
  437. data/lib/countries/data/subdivisions/TJ.yaml +5 -27
  438. data/lib/countries/data/subdivisions/TL.yaml +29 -34
  439. data/lib/countries/data/subdivisions/TM.yaml +10 -22
  440. data/lib/countries/data/subdivisions/TN.yaml +26 -49
  441. data/lib/countries/data/subdivisions/TO.yaml +13 -14
  442. data/lib/countries/data/subdivisions/TR.yaml +185 -214
  443. data/lib/countries/data/subdivisions/TT.yaml +41 -62
  444. data/lib/countries/data/subdivisions/TV.yaml +18 -34
  445. data/lib/countries/data/subdivisions/TW.yaml +50 -98
  446. data/lib/countries/data/subdivisions/TZ.yaml +72 -120
  447. data/lib/countries/data/subdivisions/UA.yaml +27 -55
  448. data/lib/countries/data/subdivisions/UG.yaml +277 -656
  449. data/lib/countries/data/subdivisions/UM.yaml +27 -35
  450. data/lib/countries/data/subdivisions/US.yaml +171 -193
  451. data/lib/countries/data/subdivisions/UY.yaml +55 -57
  452. data/lib/countries/data/subdivisions/UZ.yaml +16 -30
  453. data/lib/countries/data/subdivisions/VC.yaml +18 -22
  454. data/lib/countries/data/subdivisions/VE.yaml +75 -76
  455. data/lib/countries/data/subdivisions/VN.yaml +190 -193
  456. data/lib/countries/data/subdivisions/VU.yaml +8 -13
  457. data/lib/countries/data/subdivisions/WF.yaml +3 -30
  458. data/lib/countries/data/subdivisions/WS.yaml +33 -33
  459. data/lib/countries/data/subdivisions/YE.yaml +38 -82
  460. data/lib/countries/data/subdivisions/ZA.yaml +16 -28
  461. data/lib/countries/data/subdivisions/ZM.yaml +26 -35
  462. data/lib/countries/data/subdivisions/ZW.yaml +30 -35
  463. data/lib/countries/data/translations/countries-bg.yaml +5 -5
  464. data/lib/countries/data/translations/countries-es.yaml +1 -1
  465. data/lib/countries/data/translations/countries-pt_BR.yaml +1 -1
  466. data/lib/countries/data.rb +12 -7
  467. data/lib/countries/mongoid.rb +2 -0
  468. data/lib/countries/sources/cldr/downloader.rb +2 -2
  469. data/lib/countries/sources/cldr/subdivision_updater.rb +3 -3
  470. data/lib/countries/sources.rb +5 -5
  471. data/lib/countries/structure.rb +1 -0
  472. data/lib/countries/subdivision.rb +7 -2
  473. data/lib/countries/translations.rb +6 -1
  474. data/lib/countries/version.rb +1 -1
  475. metadata +10 -7
@@ -1 +1 @@
1
- {"AD":"Андора","AE":"Обединени арабски емирства","AF":"Афганистан","AG":"Антигуа и Барбуда","AI":"Ангила","AL":"Албания","AM":"Армения","AO":"Ангола","AQ":"Антарктика","AR":"Аржентина","AS":"Американска Самоа","AT":"Австрия","AU":"Австралия","AW":"Аруба","AX":"Аландски острови","AZ":"Азербайджан","BA":"Босна и Херцеговина","BB":"Барбадос","BD":"Бангладеш","BE":"Белгия","BF":"Буркина Фасо","BG":"България","BH":"Бахрейн","BI":"Бурунди","BJ":"Бенин","BL":"Свети Вартоломей","BM":"Бермуда","BN":"Бруней","BO":"Боливия","BQ":"О-ви Бонер, Св. Евстатий и Саба","BR":"Бразилия","BS":"Бахами","BT":"Бутан","BV":"Остров Буве","BW":"Ботсуана","BY":"Беларус","BZ":"Белиз","CA":"Канада","CC":"Кокосови острови","CD":"Конго, Демократична република","CF":"Централноафриканска Република","CG":"Конго","CH":"Швейцария","CI":"Кот д'Ивоар","CK":"Острови Кук","CL":"Чили","CM":"Камерун","CN":"Китай","CO":"Колумбия","CR":"Коста Рика","CU":"Куба","CV":"Cabo Verde","CW":"Кюрасао","CX":"Коледни острови","CY":"Кипър","CZ":"Czechia","DE":"Германия","DJ":"Джибути","DK":"Дания","DM":"Доминика","DO":"Доминиканска република","DZ":"Алжир","EC":"Еквадор","EE":"Естония","EG":"Египет","EH":"Западна Сахара","ER":"Еритрея","ES":"Испания","ET":"Етиопия","FI":"Финландия","FJ":"Фиджи","FK":"Фолклендски Острови (Малвини)","FM":"Микронезия, Обединени щати","FO":"Острови Фаро","FR":"Франция","GA":"Габон","GB":"Обединено кралство","GD":"Гренада","GE":"Грузия","GF":"Френска Гвиана","GG":"Гърнсей","GH":"Гана","GI":"Гибралтар","GL":"Гренландия","GM":"Гамбия","GN":"Гвинея","GP":"Гваделупа","GQ":"Екваториална Гвинея","GR":"Гърция","GS":"Южна Джорджия и Южни Сандвичеви острови","GT":"Гватемала","GU":"Гуам","GW":"Гвинея-Бисау","GY":"Гияна","HK":"Хонг Конг","HM":"Острови Хърд и МакДоналд","HN":"Хондурас","HR":"Хърватия","HT":"Хаити","HU":"Унгария","ID":"Индонезия","IE":"Ирландия","IL":"Израел","IM":"Айл ъф мен","IN":"Индия","IO":"Английски територии в индийския океан","IQ":"Ирак","IR":"Иран, Ислямска република","IS":"Исландия","IT":"Италия","JE":"Джърси","JM":"Ямайка","JO":"Йордания","JP":"Япония","KE":"Кения","KG":"Киргизстан","KH":"Камбоджа","KI":"Кирибати","KM":"Комори","KN":"Свети Китс и Невис","KP":"Корея, Демократична народна република","KR":"Корея, Република","KW":"Кувейт","KY":"Кайманови острови","KZ":"Казахстан","LA":"Демократична република на народа на Лао","LB":"Лебанон","LC":"Санта Лучия","LI":"Лихтенщайн","LK":"Шри Ланка","LR":"Либерия","LS":"Лесото","LT":"Литва","LU":"Люксембург","LV":"Латвия","LY":"Либия","MA":"Мароко","MC":"Монако","MD":"Молдова","ME":"Черна гора","MF":"Свети Мартин (френска част)","MG":"Мадагаскар","MH":"Маршалски острови","MK":"North Macedonia","ML":"Мали","MM":"Мянмар","MN":"Монголия","MO":"Макао","MP":"Северни марианови Острови","MQ":"Мартиника","MR":"Мавритания","MS":"Монсерат","MT":"Малта","MU":"Мавриций","MV":"Малдиви","MW":"Малави","MX":"Мексико","MY":"Малайзия","MZ":"Мозамбик","NA":"Намибия","NC":"Нова Каледония","NE":"Нигер","NF":"Остров Норфолк","NG":"Нигерия","NI":"Никарагуа","NL":"Холандия","NO":"Норвегия","NP":"Непал","NR":"Науру","NU":"Нию","NZ":"Нова Зеландия","OM":"Оман","PA":"Панама","PE":"Перу","PF":"Френска Полинезия","PG":"Папуа Нова Гвинея","PH":"Филипини","PK":"Пакистан","PL":"Полша","PM":"Свети Пиер и Микелон","PN":"Питкеърн","PR":"Пуерто Рико","PS":"Палестина, държава","PT":"Португалия","PW":"Палау","PY":"Парагвай","QA":"Катар","RE":"Риюниън","RO":"Румъния","RS":"Сърбия","RU":"Руска федерация","RW":"Руанда","SA":"Саудитска Арабия","SB":"Соломонови острови","SC":"Сейшели","SD":"Судан","SE":"Швеция","SG":"Сингапур","SH":"Света Елена, Възнесение и Тристан да Куня","SI":"Словения","SJ":"Свалбард и Ян Майен","SK":"Словакия","SL":"Сиера Леоне","SM":"Сан Марино","SN":"Сенегал","SO":"Сомалия","SR":"Суринам","SS":"Южен Судан","ST":"Сао Томе и Принсипи","SV":"Ел Салвадор","SX":"Синт Мартен (холандска част)","SY":"Сирийска арабска република","SZ":"Eswatini","TC":"Острови Тюрк и Кайкос","TD":"Чад","TF":"Френски южни територии","TG":"Того","TH":"Тайланд","TJ":"Таджикистан","TK":"Токелау","TL":"Тимор-Лест","TM":"Туркменистан","TN":"Тунис","TO":"Тонга","TR":"Турция","TT":"Тринидад и Тобаго","TV":"Тувалу","TW":"Тайван","TZ":"Танзания","UA":"Украйна","UG":"Уганда","UM":"Обединени малки острови по крайбрежието на САЩ","US":"Съединени щати","UY":"Уругвай","UZ":"Узбекистан","VA":"Ватикана","VC":"Свети Винсент и Гренадин","VE":"Венецуела","VG":"Вирджински острови, Британски","VI":"Вирджински острови, САЩ","VN":"Виетнам","VU":"Вануату","WF":"Острови Уолис и Футуна","WS":"Самоа","YE":"Йемен","YT":"Майот","ZA":"Южна Африка","ZM":"Замбия","ZW":"Зимбабве"}
1
+ {"AD":"Андора","AE":"Обединени арабски емирства","AF":"Афганистан","AG":"Антигуа и Барбуда","AI":"Ангила","AL":"Албания","AM":"Армения","AO":"Ангола","AQ":"Антарктика","AR":"Аржентина","AS":"Американска Самоа","AT":"Австрия","AU":"Австралия","AW":"Аруба","AX":"Аландски острови","AZ":"Азербайджан","BA":"Босна и Херцеговина","BB":"Барбадос","BD":"Бангладеш","BE":"Белгия","BF":"Буркина Фасо","BG":"България","BH":"Бахрейн","BI":"Бурунди","BJ":"Бенин","BL":"Свети Вартоломей","BM":"Бермуда","BN":"Бруней","BO":"Боливия","BQ":"О-ви Бонер, Св. Евстатий и Саба","BR":"Бразилия","BS":"Бахами","BT":"Бутан","BV":"Остров Буве","BW":"Ботсуана","BY":"Беларус","BZ":"Белиз","CA":"Канада","CC":"Кокосови острови","CD":"Конго, Демократична република","CF":"Централноафриканска Република","CG":"Конго","CH":"Швейцария","CI":"Кот д'Ивоар","CK":"Острови Кук","CL":"Чили","CM":"Камерун","CN":"Китай","CO":"Колумбия","CR":"Коста Рика","CU":"Куба","CV":"Кабо Верде","CW":"Кюрасао","CX":"Коледни острови","CY":"Кипър","CZ":"Чехия","DE":"Германия","DJ":"Джибути","DK":"Дания","DM":"Доминика","DO":"Доминиканска република","DZ":"Алжир","EC":"Еквадор","EE":"Естония","EG":"Египет","EH":"Западна Сахара","ER":"Еритрея","ES":"Испания","ET":"Етиопия","FI":"Финландия","FJ":"Фиджи","FK":"Фолклендски Острови (Малвини)","FM":"Микронезия, Обединени щати","FO":"Острови Фаро","FR":"Франция","GA":"Габон","GB":"Обединено кралство","GD":"Гренада","GE":"Грузия","GF":"Френска Гвиана","GG":"Гърнсей","GH":"Гана","GI":"Гибралтар","GL":"Гренландия","GM":"Гамбия","GN":"Гвинея","GP":"Гваделупа","GQ":"Екваториална Гвинея","GR":"Гърция","GS":"Южна Джорджия и Южни Сандвичеви острови","GT":"Гватемала","GU":"Гуам","GW":"Гвинея-Бисау","GY":"Гияна","HK":"Хонг Конг","HM":"Острови Хърд и МакДоналд","HN":"Хондурас","HR":"Хърватия","HT":"Хаити","HU":"Унгария","ID":"Индонезия","IE":"Ирландия","IL":"Израел","IM":"Айл ъф мен","IN":"Индия","IO":"Английски територии в индийския океан","IQ":"Ирак","IR":"Иран, Ислямска република","IS":"Исландия","IT":"Италия","JE":"Джърси","JM":"Ямайка","JO":"Йордания","JP":"Япония","KE":"Кения","KG":"Киргизстан","KH":"Камбоджа","KI":"Кирибати","KM":"Комори","KN":"Свети Китс и Невис","KP":"Корея, Демократична народна република","KR":"Корея, Република","KW":"Кувейт","KY":"Кайманови острови","KZ":"Казахстан","LA":"Лаос","LB":"Лебанон","LC":"Санта Лучия","LI":"Лихтенщайн","LK":"Шри Ланка","LR":"Либерия","LS":"Лесото","LT":"Литва","LU":"Люксембург","LV":"Латвия","LY":"Либия","MA":"Мароко","MC":"Монако","MD":"Молдова","ME":"Черна гора","MF":"Свети Мартин (френска част)","MG":"Мадагаскар","MH":"Маршалски острови","MK":"Северна Македония","ML":"Мали","MM":"Мянмар","MN":"Монголия","MO":"Макао","MP":"Северни марианови Острови","MQ":"Мартиника","MR":"Мавритания","MS":"Монсерат","MT":"Малта","MU":"Мавриций","MV":"Малдиви","MW":"Малави","MX":"Мексико","MY":"Малайзия","MZ":"Мозамбик","NA":"Намибия","NC":"Нова Каледония","NE":"Нигер","NF":"Остров Норфолк","NG":"Нигерия","NI":"Никарагуа","NL":"Холандия","NO":"Норвегия","NP":"Непал","NR":"Науру","NU":"Нию","NZ":"Нова Зеландия","OM":"Оман","PA":"Панама","PE":"Перу","PF":"Френска Полинезия","PG":"Папуа Нова Гвинея","PH":"Филипини","PK":"Пакистан","PL":"Полша","PM":"Свети Пиер и Микелон","PN":"Питкеърн","PR":"Пуерто Рико","PS":"Палестина, държава","PT":"Португалия","PW":"Палау","PY":"Парагвай","QA":"Катар","RE":"Риюниън","RO":"Румъния","RS":"Сърбия","RU":"Руска федерация","RW":"Руанда","SA":"Саудитска Арабия","SB":"Соломонови острови","SC":"Сейшели","SD":"Судан","SE":"Швеция","SG":"Сингапур","SH":"Света Елена, Възнесение и Тристан да Куня","SI":"Словения","SJ":"Свалбард и Ян Майен","SK":"Словакия","SL":"Сиера Леоне","SM":"Сан Марино","SN":"Сенегал","SO":"Сомалия","SR":"Суринам","SS":"Южен Судан","ST":"Сао Томе и Принсипи","SV":"Ел Салвадор","SX":"Синт Мартен (холандска част)","SY":"Сирийска арабска република","SZ":"Есватини","TC":"Острови Тюрк и Кайкос","TD":"Чад","TF":"Френски южни територии","TG":"Того","TH":"Тайланд","TJ":"Таджикистан","TK":"Токелау","TL":"Тимор-Лест","TM":"Туркменистан","TN":"Тунис","TO":"Тонга","TR":"Турция","TT":"Тринидад и Тобаго","TV":"Тувалу","TW":"Тайван","TZ":"Танзания","UA":"Украйна","UG":"Уганда","UM":"Обединени малки острови по крайбрежието на САЩ","US":"Съединени щати","UY":"Уругвай","UZ":"Узбекистан","VA":"Ватикана","VC":"Свети Винсент и Гренадин","VE":"Венецуела","VG":"Вирджински острови, Британски","VI":"Вирджински острови, САЩ","VN":"Виетнам","VU":"Вануату","WF":"Острови Уолис и Футуна","WS":"Самоа","YE":"Йемен","YT":"Майот","ZA":"Южна Африка","ZM":"Замбия","ZW":"Зимбабве"}
@@ -1 +1 @@
1
- {"AD":"Andorra","AE":"Emiratos Árabes Unidos","AF":"Afganistán","AG":"Antigua y Barbuda","AI":"Anguila","AL":"Albania","AM":"Armenia","AO":"Angola","AQ":"Antártida","AR":"Argentina","AS":"Samoa Estadounidense","AT":"Austria","AU":"Australia","AW":"Aruba","AX":"Islas Äland","AZ":"Azerbaiyán","BA":"Bosnia y Herzegovina","BB":"Barbados","BD":"Bangladés","BE":"Bélgica","BF":"Burquina Faso","BG":"Bulgaria","BH":"Baréin","BI":"Burundi","BJ":"Benín","BL":"San Bartolomé","BM":"Islas Bermudas","BN":"Brunei Darussalam","BO":"Bolivia","BQ":"Islas BES (Caribe Neerlandés)","BR":"Brasil","BS":"Bahamas","BT":"Bután","BV":"Isla Bouvet","BW":"Botsuana","BY":"Bielorrusia","BZ":"Belice","CA":"Canadá","CC":"Islas Cocos (Keeling)","CD":"Congo, República Democrática del","CF":"República Centroafricana","CG":"Congo","CH":"Suiza","CI":"Costa de Marfíl","CK":"Islas Cook","CL":"Chile","CM":"Camerún","CN":"China","CO":"Colombia","CR":"Costa Rica","CU":"Cuba","CV":"Cabo Verde","CW":"Curazao","CX":"Isla de Navidad","CY":"Chipre","CZ":"Chequia","DE":"Alemania","DJ":"Yibuti","DK":"Dinamarca","DM":"Dominica","DO":"República Dominicana","DZ":"Algeria","EC":"Ecuador","EE":"Estonia","EG":"Egipto","EH":"Sahara Occidental","ER":"Eritrea","ES":"España","ET":"Etiopía","FI":"Finlandia","FJ":"Fiyi","FK":"Islas Falkland (Malvinas)","FM":"Micronesia, Estados Federados de","FO":"Islas Feroe","FR":"Francia","GA":"Gabón","GB":"Reino Unido","GD":"Granada","GE":"Georgia","GF":"Guayana Francesa","GG":"Guernsey","GH":"Ghana","GI":"Gibraltar","GL":"Groenlandia","GM":"Gambia","GN":"Guinea","GP":"Guadalupe","GQ":"Guinea Ecuatorial","GR":"Grecia","GS":"Islas Georgias del Sur y Sándwich del Sur","GT":"Guatemala","GU":"Guam","GW":"Guinea-Bisáu","GY":"Guyana","HK":"Hong Kong","HM":"Islas Heard y McDonald","HN":"Honduras","HR":"Croacia","HT":"Haití","HU":"Hungría","ID":"Indonesia","IE":"Irlanda","IL":"Israel","IM":"Isla de Man","IN":"India","IO":"Territorio Británico del Océano Índico","IQ":"Irak","IR":"Irán, República islámica de","IS":"Islandia","IT":"Italia","JE":"Jersey","JM":"Jamaica","JO":"Jordania","JP":"Japón","KE":"Kenia","KG":"Kirguistán","KH":"Camboya","KI":"Kiribati","KM":"Comores, Islas","KN":"San Cristóbal y Nieves","KP":"Corea, República Democrática Popular de","KR":"Corea, República de","KW":"Kuwait","KY":"Islas Caimán","KZ":"Kazajistán","LA":"República Democrática Popular de Lao","LB":"Líbano","LC":"Santa Lucía","LI":"Liechtenstein","LK":"Sri Lanka","LR":"Liberia","LS":"Lesoto","LT":"Lituania","LU":"Luxemburgo","LV":"Letonia","LY":"Libia","MA":"Marruecos","MC":"Mónaco","MD":"Moldavia","ME":"Montenegro","MF":"San Martín (zona francesa)","MG":"Madagascar","MH":"Islas Marshall","MK":"Macedonia del Norte","ML":"Malí","MM":"Birmania","MN":"Mongolia","MO":"Macao","MP":"Islas Marianas del Norte","MQ":"Martinica","MR":"Mauritania","MS":"Montserrat","MT":"Malta","MU":"Mauricio","MV":"Islas Maldivas","MW":"Malaui","MX":"México","MY":"Malasia","MZ":"Mozambique","NA":"Namibia","NC":"Nueva Caledonia","NE":"Niger","NF":"Isla Norfolk","NG":"Nigeria","NI":"Nicaragua","NL":"Países Bajos","NO":"Noruega","NP":"Nepal","NR":"Nauru","NU":"Niue","NZ":"Nueva Zelanda","OM":"Omán","PA":"Panamá","PE":"Perú","PF":"Polinesia Francesa","PG":"Papúa Nueva Guinea","PH":"Filipinas","PK":"Pakistán","PL":"Polonia","PM":"San Pedro y Miquelon","PN":"Pitcairn","PR":"Puerto Rico","PS":"Palestina, Estado de","PT":"Portugal","PW":"Palaos","PY":"Paraguay","QA":"Catar","RE":"Reunión","RO":"Rumanía","RS":"Serbia","RU":"Federación Rusa","RW":"Ruanda","SA":"Arabia Saudí","SB":"Islas Salomón","SC":"Seychelles","SD":"Sudán","SE":"Suecia","SG":"Singapur","SH":"Santa Elena, Ascensión y Tristán de Acuña","SI":"Eslovenia","SJ":"Svalbard y Jan Mayen","SK":"Eslovaquia","SL":"Sierra Leona","SM":"San Marino","SN":"Senegal","SO":"Somalia","SR":"Surinám","SS":"Sudán del Sur","ST":"Santo Tomé y Príncipe","SV":"El Salvador","SX":"Isla de San Martín (zona holandsea)","SY":"República árabe de Siria","SZ":"Esuatini","TC":"Islas Turcas y Caicos","TD":"Chad","TF":"Territorios Franceses del Sur","TG":"Togo","TH":"Tailandia","TJ":"Tayikistán","TK":"Tokelau","TL":"Timor Oriental","TM":"Turkmenistán","TN":"Tunez","TO":"Tonga","TR":"Turquía","TT":"Trinidad y Tobago","TV":"Tuvalu","TW":"Taiwán","TZ":"Tanzania","UA":"Ucrania","UG":"Uganda","UM":"Islas Ultramarinas Menores de Estados Unidos","US":"Estados Unidos","UY":"Uruguay","UZ":"Uzbekistán","VA":"Santa Sede (Ciudad Estado del Vaticano)","VC":"San Vicente y las Granadinas","VE":"Venezuela","VG":"Islas Vírgenes, Británicas","VI":"Islas Vírgenes, de EEUU","VN":"Vietnam","VU":"Vanuatu","WF":"Wallis y Futuna","WS":"Samoa","YE":"Yemen","YT":"Mayotte","ZA":"Sudáfrica","ZM":"Zambia","ZW":"Zimbabue"}
1
+ {"AD":"Andorra","AE":"Emiratos Árabes Unidos","AF":"Afganistán","AG":"Antigua y Barbuda","AI":"Anguila","AL":"Albania","AM":"Armenia","AO":"Angola","AQ":"Antártida","AR":"Argentina","AS":"Samoa Estadounidense","AT":"Austria","AU":"Australia","AW":"Aruba","AX":"Islas Äland","AZ":"Azerbaiyán","BA":"Bosnia y Herzegovina","BB":"Barbados","BD":"Bangladés","BE":"Bélgica","BF":"Burquina Faso","BG":"Bulgaria","BH":"Baréin","BI":"Burundi","BJ":"Benín","BL":"San Bartolomé","BM":"Islas Bermudas","BN":"Brunei Darussalam","BO":"Bolivia","BQ":"Islas BES (Caribe Neerlandés)","BR":"Brasil","BS":"Bahamas","BT":"Bután","BV":"Isla Bouvet","BW":"Botsuana","BY":"Bielorrusia","BZ":"Belice","CA":"Canadá","CC":"Islas Cocos (Keeling)","CD":"Congo, República Democrática del","CF":"República Centroafricana","CG":"Congo","CH":"Suiza","CI":"Costa de Marfíl","CK":"Islas Cook","CL":"Chile","CM":"Camerún","CN":"China","CO":"Colombia","CR":"Costa Rica","CU":"Cuba","CV":"Cabo Verde","CW":"Curazao","CX":"Isla de Navidad","CY":"Chipre","CZ":"Chequia","DE":"Alemania","DJ":"Yibuti","DK":"Dinamarca","DM":"Dominica","DO":"República Dominicana","DZ":"Argelia","EC":"Ecuador","EE":"Estonia","EG":"Egipto","EH":"Sahara Occidental","ER":"Eritrea","ES":"España","ET":"Etiopía","FI":"Finlandia","FJ":"Fiyi","FK":"Islas Falkland (Malvinas)","FM":"Micronesia, Estados Federados de","FO":"Islas Feroe","FR":"Francia","GA":"Gabón","GB":"Reino Unido","GD":"Granada","GE":"Georgia","GF":"Guayana Francesa","GG":"Guernsey","GH":"Ghana","GI":"Gibraltar","GL":"Groenlandia","GM":"Gambia","GN":"Guinea","GP":"Guadalupe","GQ":"Guinea Ecuatorial","GR":"Grecia","GS":"Islas Georgias del Sur y Sándwich del Sur","GT":"Guatemala","GU":"Guam","GW":"Guinea-Bisáu","GY":"Guyana","HK":"Hong Kong","HM":"Islas Heard y McDonald","HN":"Honduras","HR":"Croacia","HT":"Haití","HU":"Hungría","ID":"Indonesia","IE":"Irlanda","IL":"Israel","IM":"Isla de Man","IN":"India","IO":"Territorio Británico del Océano Índico","IQ":"Irak","IR":"Irán, República islámica de","IS":"Islandia","IT":"Italia","JE":"Jersey","JM":"Jamaica","JO":"Jordania","JP":"Japón","KE":"Kenia","KG":"Kirguistán","KH":"Camboya","KI":"Kiribati","KM":"Comores, Islas","KN":"San Cristóbal y Nieves","KP":"Corea, República Democrática Popular de","KR":"Corea, República de","KW":"Kuwait","KY":"Islas Caimán","KZ":"Kazajistán","LA":"República Democrática Popular de Lao","LB":"Líbano","LC":"Santa Lucía","LI":"Liechtenstein","LK":"Sri Lanka","LR":"Liberia","LS":"Lesoto","LT":"Lituania","LU":"Luxemburgo","LV":"Letonia","LY":"Libia","MA":"Marruecos","MC":"Mónaco","MD":"Moldavia","ME":"Montenegro","MF":"San Martín (zona francesa)","MG":"Madagascar","MH":"Islas Marshall","MK":"Macedonia del Norte","ML":"Malí","MM":"Birmania","MN":"Mongolia","MO":"Macao","MP":"Islas Marianas del Norte","MQ":"Martinica","MR":"Mauritania","MS":"Montserrat","MT":"Malta","MU":"Mauricio","MV":"Islas Maldivas","MW":"Malaui","MX":"México","MY":"Malasia","MZ":"Mozambique","NA":"Namibia","NC":"Nueva Caledonia","NE":"Niger","NF":"Isla Norfolk","NG":"Nigeria","NI":"Nicaragua","NL":"Países Bajos","NO":"Noruega","NP":"Nepal","NR":"Nauru","NU":"Niue","NZ":"Nueva Zelanda","OM":"Omán","PA":"Panamá","PE":"Perú","PF":"Polinesia Francesa","PG":"Papúa Nueva Guinea","PH":"Filipinas","PK":"Pakistán","PL":"Polonia","PM":"San Pedro y Miquelon","PN":"Pitcairn","PR":"Puerto Rico","PS":"Palestina, Estado de","PT":"Portugal","PW":"Palaos","PY":"Paraguay","QA":"Catar","RE":"Reunión","RO":"Rumanía","RS":"Serbia","RU":"Federación Rusa","RW":"Ruanda","SA":"Arabia Saudí","SB":"Islas Salomón","SC":"Seychelles","SD":"Sudán","SE":"Suecia","SG":"Singapur","SH":"Santa Elena, Ascensión y Tristán de Acuña","SI":"Eslovenia","SJ":"Svalbard y Jan Mayen","SK":"Eslovaquia","SL":"Sierra Leona","SM":"San Marino","SN":"Senegal","SO":"Somalia","SR":"Surinám","SS":"Sudán del Sur","ST":"Santo Tomé y Príncipe","SV":"El Salvador","SX":"Isla de San Martín (zona holandsea)","SY":"República árabe de Siria","SZ":"Esuatini","TC":"Islas Turcas y Caicos","TD":"Chad","TF":"Territorios Franceses del Sur","TG":"Togo","TH":"Tailandia","TJ":"Tayikistán","TK":"Tokelau","TL":"Timor Oriental","TM":"Turkmenistán","TN":"Tunez","TO":"Tonga","TR":"Turquía","TT":"Trinidad y Tobago","TV":"Tuvalu","TW":"Taiwán","TZ":"Tanzania","UA":"Ucrania","UG":"Uganda","UM":"Islas Ultramarinas Menores de Estados Unidos","US":"Estados Unidos","UY":"Uruguay","UZ":"Uzbekistán","VA":"Santa Sede (Ciudad Estado del Vaticano)","VC":"San Vicente y las Granadinas","VE":"Venezuela","VG":"Islas Vírgenes, Británicas","VI":"Islas Vírgenes, de EEUU","VN":"Vietnam","VU":"Vanuatu","WF":"Wallis y Futuna","WS":"Samoa","YE":"Yemen","YT":"Mayotte","ZA":"Sudáfrica","ZM":"Zambia","ZW":"Zimbabue"}
@@ -1 +1 @@
1
- {"AD":"Andorra","AE":"Emirados Árabes Unidos","AF":"Afeganistão","AG":"Antígua e Barbuda","AI":"Anguila","AL":"Albânia","AM":"Armênia","AO":"Angola","AQ":"Antártida","AR":"Argentina","AS":"Samoa Americana","AT":"Áustria","AU":"Austrália","AW":"Aruba","AX":"Ilhas Åland","AZ":"Azerbaijão","BA":"Bósnia-Herzegóvina","BB":"Barbados","BD":"Bangladesh","BE":"Bélgica","BF":"Burquina","BG":"Bulgária","BH":"Barein","BI":"Burundi","BJ":"Benin","BL":"São Bartolomeu","BM":"Bermuda","BN":"Brunei","BO":"Bolívia","BQ":"Bonaire, Saba e Santo Eustáquio","BR":"Brasil","BS":"Bahamas","BT":"Butão","BV":"Ilha Bouvet","BW":"Botsuana","BY":"Bielo-Rússia","BZ":"Belize","CA":"Canadá","CC":"Ilhas Cocos","CD":"República Democrática do Congo","CF":"República Centro-Africana","CG":"Congo","CH":"Suíça","CI":"Costa do Marfim","CK":"Ilhas Cook","CL":"Chile","CM":"Camarões","CN":"China","CO":"Colômbia","CR":"Costa Rica","CU":"Cuba","CV":"Cabo Verde","CW":"Curaçao","CX":"Ilha Christmas","CY":"Chipre","CZ":"Chéquia","DE":"Alemanha","DJ":"Djibuti","DK":"Dinamarca","DM":"Domínica","DO":"República Dominicana","DZ":"Argélia","EC":"Equador","EE":"Estônia","EG":"Egito","EH":"Saara Ocidental","ER":"Eritréia","ES":"Espanha","ET":"Etiópia","FI":"Finlândia","FJ":"Fiji","FK":"Ilhas Malvinas (Falkland)","FM":"Estados Federados da Micronésia","FO":"Ilhas Faroe","FR":"França","GA":"Gabão","GB":"Reino Unido","GD":"Granada","GE":"Geórgia","GF":"Guiana Francesa","GG":"Guernsey","GH":"Gana","GI":"Gibraltar","GL":"Groenlândia","GM":"Gâmbia","GN":"Guiné","GP":"Guadalupe","GQ":"Guiné Equatorial","GR":"Grécia","GS":"Geórgia do Sul e Ilhas Sandwich do Sul","GT":"Guatemala","GU":"Guam","GW":"Guiné-Bissau","GY":"Guiana","HK":"Hong Kong","HM":"Ilha Heard e Ilhas McDonald","HN":"Honduras","HR":"Croácia","HT":"Haiti","HU":"Hungria","ID":"Indonésia","IE":"Irlanda","IL":"Israel","IM":"Ilha de Man","IN":"Índia","IO":"Território Britânico do Oceano Índico","IQ":"Iraque","IR":"Irã","IS":"Islândia","IT":"Itália","JE":"Jersey","JM":"Jamaica","JO":"Jordânia","JP":"Japão","KE":"Quênia","KG":"Quirguistão","KH":"Camboja","KI":"Kiribati","KM":"Comores","KN":"São Cristóvão e Névis","KP":"Coreia do Norte","KR":"Coreia do Sul","KW":"Kuwait","KY":"Ilhas Cayman","KZ":"Cazaquistão","LA":"República Popular Democrática do Laos","LB":"Líbano","LC":"Santa Lúcia","LI":"Liechtenstein","LK":"Sri Lanka","LR":"Libéria","LS":"Lesoto","LT":"Lituânia","LU":"Luxemburgo","LV":"Letônia","LY":"Líbia","MA":"Marrocos","MC":"Mônaco","MD":"Moldávia","ME":"Montenegro","MF":"São Martim (parte francesa)","MG":"Madagascar","MH":"Ilhas Marshall","MK":"Macedônia do Norte","ML":"Mali","MM":"Myanmar","MN":"Mongólia","MO":"Macau","MP":"Ilhas Marianas do Norte","MQ":"Martinica","MR":"Mauritânia","MS":"Montserrat","MT":"Malta","MU":"Maurício","MV":"Maldivas","MW":"Malaui","MX":"México","MY":"Malásia","MZ":"Moçambique","NA":"Namíbia","NC":"Nova Caledônia","NE":"Níger","NF":"Ilha Norfolk","NG":"Nigéria","NI":"Nicarágua","NL":"Países Baixos","NO":"Noruega","NP":"Nepal","NR":"Nauru","NU":"Niue","NZ":"Nova Zelândia","OM":"Omã","PA":"Panamá","PE":"Peru","PF":"Polinésia Francesa","PG":"Papua-Nova Guiné","PH":"Filipinas","PK":"Paquistão","PL":"Polônia","PM":"São Pedro e Miquelon","PN":"Pitcairn","PR":"Porto Rico","PS":"Palestina, Estado da","PT":"Portugal","PW":"Palau","PY":"Paraguai","QA":"Catar","RE":"Reunião","RO":"Romênia","RS":"Sérvia","RU":"Federação Russa","RW":"Ruanda","SA":"Arábia Saudita","SB":"Ilhas Salomão","SC":"Seychelles","SD":"Sudão","SE":"Suécia","SG":"Cingapura","SH":"Santa Helena, Ascensão e Tristão da Cunha","SI":"Eslovênia","SJ":"Svalbard e a Ilha de Jan Mayen","SK":"Eslováquia","SL":"Serra Leoa","SM":"São Marino","SN":"Senegal","SO":"Somália","SR":"Suriname","SS":"Sudão do Sul","ST":"São Tomé e Príncipe","SV":"El Salvador","SX":"São Martim (parte holandesa)","SY":"República Árabe da Síria","SZ":"Suazilândia","TC":"Ilhas Turks e Caicos","TD":"Chade","TF":"Territórios Franceses do Sul","TG":"Togo","TH":"Tailândia","TJ":"Tadjiquistão","TK":"Toquelau","TL":"Timor Leste","TM":"Turcomenistão","TN":"Tunísia","TO":"Tonga","TR":"Turquia","TT":"Trinidade e Tobago","TV":"Tuvalu","TW":"Taiwan","TZ":"Tanzânia","UA":"Ucrânia","UG":"Uganda","UM":"Ilhas Menores Distantes dos Estados Unidos","US":"Estados Unidos","UY":"Uruguai","UZ":"Uzbequistão","VA":"Santa Sé (Cidade-Estado do Vaticano)","VC":"São Vicente e Granadinas","VE":"Venezuela","VG":"Ilhas Virgens Britânicas","VI":"Ilhas Virgens dos Estados Unidos","VN":"Vietnã","VU":"Vanuatu","WF":"Wallis e Futuna","WS":"Samoa","YE":"Iêmen","YT":"Maiote","ZA":"África do Sul","ZM":"Zâmbia","ZW":"Zimbábue"}
1
+ {"AD":"Andorra","AE":"Emirados Árabes Unidos","AF":"Afeganistão","AG":"Antígua e Barbuda","AI":"Anguila","AL":"Albânia","AM":"Armênia","AO":"Angola","AQ":"Antártida","AR":"Argentina","AS":"Samoa Americana","AT":"Áustria","AU":"Austrália","AW":"Aruba","AX":"Ilhas Åland","AZ":"Azerbaijão","BA":"Bósnia-Herzegóvina","BB":"Barbados","BD":"Bangladesh","BE":"Bélgica","BF":"Burquina","BG":"Bulgária","BH":"Barein","BI":"Burundi","BJ":"Benin","BL":"São Bartolomeu","BM":"Bermuda","BN":"Brunei","BO":"Bolívia","BQ":"Bonaire, Saba e Santo Eustáquio","BR":"Brasil","BS":"Bahamas","BT":"Butão","BV":"Ilha Bouvet","BW":"Botsuana","BY":"Bielo-Rússia","BZ":"Belize","CA":"Canadá","CC":"Ilhas Cocos","CD":"República Democrática do Congo","CF":"República Centro-Africana","CG":"Congo","CH":"Suíça","CI":"Costa do Marfim","CK":"Ilhas Cook","CL":"Chile","CM":"Camarões","CN":"China","CO":"Colômbia","CR":"Costa Rica","CU":"Cuba","CV":"Cabo Verde","CW":"Curaçao","CX":"Ilha Christmas","CY":"Chipre","CZ":"Chéquia","DE":"Alemanha","DJ":"Djibuti","DK":"Dinamarca","DM":"Domínica","DO":"República Dominicana","DZ":"Argélia","EC":"Equador","EE":"Estônia","EG":"Egito","EH":"Saara Ocidental","ER":"Eritréia","ES":"Espanha","ET":"Etiópia","FI":"Finlândia","FJ":"Fiji","FK":"Ilhas Malvinas (Falkland)","FM":"Estados Federados da Micronésia","FO":"Ilhas Faroe","FR":"França","GA":"Gabão","GB":"Reino Unido","GD":"Granada","GE":"Geórgia","GF":"Guiana Francesa","GG":"Guernsey","GH":"Gana","GI":"Gibraltar","GL":"Groenlândia","GM":"Gâmbia","GN":"Guiné","GP":"Guadalupe","GQ":"Guiné Equatorial","GR":"Grécia","GS":"Geórgia do Sul e Ilhas Sandwich do Sul","GT":"Guatemala","GU":"Guam","GW":"Guiné-Bissau","GY":"Guiana","HK":"Hong Kong","HM":"Ilha Heard e Ilhas McDonald","HN":"Honduras","HR":"Croácia","HT":"Haiti","HU":"Hungria","ID":"Indonésia","IE":"Irlanda","IL":"Israel","IM":"Ilha de Man","IN":"Índia","IO":"Território Britânico do Oceano Índico","IQ":"Iraque","IR":"Irã","IS":"Islândia","IT":"Itália","JE":"Jersey","JM":"Jamaica","JO":"Jordânia","JP":"Japão","KE":"Quênia","KG":"Quirguistão","KH":"Camboja","KI":"Kiribati","KM":"Comores","KN":"São Cristóvão e Névis","KP":"Coreia do Norte","KR":"Coreia do Sul","KW":"Kuwait","KY":"Ilhas Cayman","KZ":"Cazaquistão","LA":"República Popular Democrática do Laos","LB":"Líbano","LC":"Santa Lúcia","LI":"Liechtenstein","LK":"Sri Lanka","LR":"Libéria","LS":"Lesoto","LT":"Lituânia","LU":"Luxemburgo","LV":"Letônia","LY":"Líbia","MA":"Marrocos","MC":"Mônaco","MD":"Moldávia","ME":"Montenegro","MF":"São Martim (parte francesa)","MG":"Madagascar","MH":"Ilhas Marshall","MK":"Macedônia do Norte","ML":"Mali","MM":"Myanmar","MN":"Mongólia","MO":"Macau","MP":"Ilhas Marianas do Norte","MQ":"Martinica","MR":"Mauritânia","MS":"Montserrat","MT":"Malta","MU":"Maurício","MV":"Maldivas","MW":"Malaui","MX":"México","MY":"Malásia","MZ":"Moçambique","NA":"Namíbia","NC":"Nova Caledônia","NE":"Níger","NF":"Ilha Norfolk","NG":"Nigéria","NI":"Nicarágua","NL":"Países Baixos","NO":"Noruega","NP":"Nepal","NR":"Nauru","NU":"Niue","NZ":"Nova Zelândia","OM":"Omã","PA":"Panamá","PE":"Peru","PF":"Polinésia Francesa","PG":"Papua-Nova Guiné","PH":"Filipinas","PK":"Paquistão","PL":"Polônia","PM":"São Pedro e Miquelon","PN":"Pitcairn","PR":"Porto Rico","PS":"Palestina, Estado da","PT":"Portugal","PW":"Palau","PY":"Paraguai","QA":"Catar","RE":"Reunião","RO":"Romênia","RS":"Sérvia","RU":"Federação Russa","RW":"Ruanda","SA":"Arábia Saudita","SB":"Ilhas Salomão","SC":"Seychelles","SD":"Sudão","SE":"Suécia","SG":"Singapura","SH":"Santa Helena, Ascensão e Tristão da Cunha","SI":"Eslovênia","SJ":"Svalbard e a Ilha de Jan Mayen","SK":"Eslováquia","SL":"Serra Leoa","SM":"São Marino","SN":"Senegal","SO":"Somália","SR":"Suriname","SS":"Sudão do Sul","ST":"São Tomé e Príncipe","SV":"El Salvador","SX":"São Martim (parte holandesa)","SY":"República Árabe da Síria","SZ":"Suazilândia","TC":"Ilhas Turks e Caicos","TD":"Chade","TF":"Territórios Franceses do Sul","TG":"Togo","TH":"Tailândia","TJ":"Tadjiquistão","TK":"Toquelau","TL":"Timor Leste","TM":"Turcomenistão","TN":"Tunísia","TO":"Tonga","TR":"Turquia","TT":"Trinidade e Tobago","TV":"Tuvalu","TW":"Taiwan","TZ":"Tanzânia","UA":"Ucrânia","UG":"Uganda","UM":"Ilhas Menores Distantes dos Estados Unidos","US":"Estados Unidos","UY":"Uruguai","UZ":"Uzbequistão","VA":"Santa Sé (Cidade-Estado do Vaticano)","VC":"São Vicente e Granadinas","VE":"Venezuela","VG":"Ilhas Virgens Britânicas","VI":"Ilhas Virgens dos Estados Unidos","VN":"Vietnã","VU":"Vanuatu","WF":"Wallis e Futuna","WS":"Samoa","YE":"Iêmen","YT":"Maiote","ZA":"África do Sul","ZM":"Zâmbia","ZW":"Zimbábue"}
@@ -19,13 +19,24 @@ module ISO3166
19
19
  end
20
20
 
21
21
  class Configuration
22
- attr_accessor :locales, :loaded_locales
22
+ attr_accessor :loaded_locales
23
23
 
24
24
  def initialize
25
- @locales = default_locales
26
25
  @loaded_locales = []
27
26
  end
28
27
 
28
+ def locales
29
+ @locales ||= default_locales
30
+ end
31
+
32
+ def locales=(value)
33
+ if value.is_a?(Array)
34
+ @locales = value.map(&:to_sym).uniq
35
+ else
36
+ raise ArgumentError, "Expected an Array of locales, got #{value.class}"
37
+ end
38
+ end
39
+
29
40
  # Enables the integration with the {Money}[https://github.com/RubyMoney/money] gem
30
41
  #
31
42
  # Please note that it requires you to add "money" gem to your gemfile.
@@ -46,6 +57,7 @@ module ISO3166
46
57
 
47
58
  private
48
59
 
60
+ # :reek:UtilityFunction
49
61
  def default_locales
50
62
  locales = if Object.const_defined?('I18n') && I18n.respond_to?(:available_locales)
51
63
  I18n.available_locales.dup
@@ -18,24 +18,32 @@ module ISO3166
18
18
 
19
19
  module CountryClassMethods
20
20
  def new(country_data)
21
- super if country_data.is_a?(Hash) || codes.include?(country_data.to_s.upcase)
21
+ return super if country_data.is_a?(Hash)
22
+
23
+ country_code = country_data.to_s
24
+ country_code = country_code.upcase if country_code.match?(/[a-z]/)
25
+
26
+ super if codes.include?(country_code)
22
27
  end
23
28
 
29
+ # :reek:UtilityFunction
24
30
  def codes
25
31
  ISO3166::Data.codes
26
32
  end
27
33
 
28
- def all(&blk)
29
- blk ||= proc { |_alpha2, d| ISO3166::Country.new(d) }
30
- ISO3166::Data.cache.map(&blk)
34
+ def all(&block)
35
+ block ||= proc { |_alpha2, data| ISO3166::Country.new(data) }
36
+ ISO3166::Data.cache.map(&block)
31
37
  end
32
38
 
33
39
  alias countries all
34
40
 
35
- def all_names_with_codes(locale = 'en')
36
- Country.all.map do |c|
37
- lc = (c.translation(locale) || c.iso_short_name)
38
- [lc.respond_to?('html_safe') ? lc.html_safe : lc, c.alpha2]
41
+ # :reek:UtilityFunction
42
+ # :reek:ManualDispatch
43
+ def all_names_with_codes(locale = :en)
44
+ Country.all.map do |country|
45
+ lc = country.translation(locale) || country.iso_short_name
46
+ [lc.respond_to?('html_safe') ? lc.html_safe : lc, country.alpha2]
39
47
  end.sort
40
48
  end
41
49
 
@@ -43,23 +51,20 @@ module ISO3166
43
51
  all.map { |country| country.data.fetch_values(*attributes.map(&:to_s)) }
44
52
  end
45
53
 
46
- def all_translated(locale = 'en')
54
+ def all_translated(locale = :en)
47
55
  translations(locale).values
48
56
  end
49
57
 
50
- def translations(locale = 'en')
51
- locale = locale.downcase.freeze
58
+ # :reek:UtilityFunction
59
+ # :reek:FeatureEnvy
60
+ def translations(locale = :en)
61
+ locale = locale.to_sym if locale.is_a?(String)
62
+ locale = locale.downcase if locale.match?(/[A-Z]/)
63
+
52
64
  file_path = ISO3166::Data.datafile_path(%W[locales #{locale}.json])
53
65
  translations = JSON.parse(File.read(file_path))
54
66
 
55
- custom_countries = {}
56
- (ISO3166::Data.codes - ISO3166::Data.loaded_codes).each do |code|
57
- country = ISO3166::Country[code]
58
- translation = country.translations[locale] || country.iso_short_name
59
- custom_countries[code] = translation
60
- end
61
-
62
- translations.merge(custom_countries)
67
+ translations.merge(custom_countries_translations(locale))
63
68
  end
64
69
 
65
70
  # @param query_val [String] A value to query using `query_method`
@@ -67,9 +72,9 @@ module ISO3166
67
72
  # @param result_method [Symbol] An optional method of `Country` to apply to the result set.
68
73
  # @return [Array] An array of countries matching the provided query, or the result of applying `result_method` to the array of `Country` objects
69
74
  def collect_countries_with(query_val, query_method = :alpha2, result_method = :itself)
70
- return nil unless [query_method, result_method].map { |e| method_defined? e }.all?
75
+ return nil unless [query_method, result_method].map { |method| method_defined? method }.all?
71
76
 
72
- all.select { |country| country.send(query_method).include? query_val }
77
+ all.select { |country| country.send(query_method)&.include? query_val }
73
78
  .map { |country| country.send(result_method) }
74
79
  end
75
80
 
@@ -85,6 +90,7 @@ module ISO3166
85
90
 
86
91
  protected
87
92
 
93
+ # :reek:UtilityFunction
88
94
  def strip_accents(string)
89
95
  if string.is_a?(Regexp)
90
96
  Regexp.new(Unaccent.unaccent(string.source), 'i')
@@ -102,11 +108,26 @@ module ISO3166
102
108
  # NB: We only want to use this cache for values coming from the JSON
103
109
  # file or our own code, caching user-generated data could be dangerous
104
110
  # since the cache would continually grow.
111
+ # :reek:DuplicateMethodCall
105
112
  def cached(value)
106
113
  @_parsed_values_cache ||= {}
107
114
  return @_parsed_values_cache[value] if @_parsed_values_cache[value]
108
115
 
109
116
  @_parsed_values_cache[value] = yield
110
117
  end
118
+
119
+ private
120
+
121
+ # :reek:UtilityFunction
122
+ def custom_countries_translations(locale)
123
+ custom_countries = {}
124
+ (ISO3166::Data.codes - ISO3166::Data.loaded_codes).each do |code|
125
+ country = ISO3166::Country[code]
126
+ translation = country.translations[locale] || country.iso_short_name
127
+ custom_countries[code] = translation
128
+ end
129
+
130
+ custom_countries
131
+ end
111
132
  end
112
133
  end
@@ -5,14 +5,16 @@ module ISO3166
5
5
  # @param subdivision_str [String] A subdivision name or code to search for. Search includes translated subdivision names.
6
6
  # @return [Subdivision] The first subdivision matching the provided string
7
7
  def find_subdivision_by_name(subdivision_str)
8
- subdivisions.select do |k, v|
9
- subdivision_str == k || v.name == subdivision_str || v.translations.values.include?(subdivision_str)
10
- end.values.first
8
+ matched_subdivisions = subdivisions.select do |key, value|
9
+ subdivision_str == key || value.match?(subdivision_str)
10
+ end.values
11
+
12
+ matched_subdivisions.min_by { |subdivision| subdivision_types.index(subdivision.type) }
11
13
  end
12
14
 
13
15
  def subdivision_for_string?(subdivision_str)
14
- !subdivisions.transform_values(&:translations)
15
- .select { |k, v| subdivision_str == k || v.values.include?(subdivision_str) }.empty?
16
+ subdivisions.transform_values(&:translations)
17
+ .any? { |key, value| subdivision_str == key || value.values.include?(subdivision_str) }
16
18
  end
17
19
 
18
20
  # +true+ if this Country has any Subdivisions.
@@ -21,6 +23,7 @@ module ISO3166
21
23
  end
22
24
 
23
25
  # @return [Array<ISO3166::Subdivision>] the list of subdivisions for this Country.
26
+ # :reek:DuplicateMethodCall
24
27
  def subdivisions
25
28
  @subdivisions ||= if data['subdivisions']
26
29
  ISO3166::Data.create_subdivisions(data['subdivisions'])
@@ -32,49 +35,41 @@ module ISO3166
32
35
  # @param types [Array<String>] The locale to use for translations.
33
36
  # @return [Array<ISO3166::Subdivision>] the list of subdivisions of the given type(s) for this Country.
34
37
  def subdivisions_of_types(types)
35
- subdivisions.select { |_k, v| types.include?(v.type) }
38
+ subdivisions.select { |_k, value| types.include?(value.type) }
36
39
  end
37
40
 
38
41
  # @return [Array<String>] the list of subdivision types for this country
39
42
  def subdivision_types
40
- subdivisions.map { |_k, v| v['type'] }.uniq
43
+ subdivisions.map { |_k, value| value['type'] }.uniq
41
44
  end
42
45
 
43
46
  # @return [Array<String>] the list of humanized subdivision types for this country. Uses ActiveSupport's `#humanize` if available
47
+ # :reek:DuplicateMethodCall
44
48
  def humanized_subdivision_types
45
49
  if String.instance_methods.include?(:humanize)
46
- subdivisions.map { |_k, v| v['type'].humanize.freeze }.uniq
50
+ subdivisions.map { |_k, value| value['type'].humanize.freeze }.uniq
47
51
  else
48
- subdivisions.map { |_k, v| humanize_string(v['type']) }.uniq
52
+ subdivisions.map { |_k, value| humanize_string(value['type']) }.uniq
49
53
  end
50
54
  end
51
55
 
52
56
  # @param locale [String] The locale to use for translations.
53
57
  # @return [Array<Array>] This Country's subdivision pairs of names and codes.
54
- def subdivision_names_with_codes(locale = 'en')
55
- subdivisions.map { |k, v| [v.translations[locale] || v.name, k] }
58
+ # :reek:FeatureEnvy
59
+ def subdivision_names_with_codes(locale = :en)
60
+ subdivisions.map { |key, value| [value.translations[locale] || value.name, key] }
56
61
  end
57
62
 
58
63
  # @param locale [String] The locale to use for translations.
59
64
  # @return [Array<String>] A list of subdivision names for this country.
60
- def subdivision_names(locale = 'en')
61
- subdivisions.map { |_k, v| v.translations[locale] || v.name }
62
- end
63
-
64
- def states
65
- if RUBY_VERSION =~ /^3\.\d\.\d/
66
- warn 'DEPRECATION WARNING: The Country#states method has been deprecated and will be removed in 6.0. Please use Country#subdivisions instead.',
67
- uplevel: 1, category: :deprecated
68
- else
69
- warn 'DEPRECATION WARNING: The Country#states method has been deprecated and will be removed in 6.0. Please use Country#subdivisions instead.',
70
- uplevel: 1
71
- end
72
-
73
- subdivisions
65
+ # :reek:FeatureEnvy
66
+ def subdivision_names(locale = :en)
67
+ subdivisions.map { |_k, value| value.translations[locale] || value.name }
74
68
  end
75
69
 
76
70
  private
77
71
 
72
+ # :reek:UtilityFunction
78
73
  def humanize_string(str)
79
74
  (str[0].upcase + str.tr('_', ' ')[1..]).freeze
80
75
  end
@@ -35,7 +35,7 @@ module ISO3166
35
35
  #
36
36
  # The emoji flag for this country, using Unicode Regional Indicator characters. e.g: "U+1F1FA U+1F1F8" for 🇺🇸
37
37
  def emoji_flag
38
- alpha2.downcase.chars.map { |c| CODE_POINTS[c] }.join.freeze
38
+ alpha2.downcase.chars.map { |char| CODE_POINTS[char] }.join.freeze
39
39
  end
40
40
  end
41
41
  end
@@ -5,8 +5,12 @@ module ISO3166
5
5
  FIND_BY_REGEX = /^find_(all_)?(country_|countries_)?by_(.+)/
6
6
  SEARCH_TERM_FILTER_REGEX = /\(|\)|\[\]|,/
7
7
 
8
+ # :reek:FeatureEnvy
8
9
  def search(query)
9
- country = new(query.to_s.upcase)
10
+ query = query.to_s if query.is_a?(Symbol)
11
+ query = query.upcase if query&.match?(/[a-z]/)
12
+
13
+ country = new(query)
10
14
  country&.valid? ? country : nil
11
15
  end
12
16
 
@@ -14,54 +18,62 @@ module ISO3166
14
18
  search(query)
15
19
  end
16
20
 
21
+ # :reek:NestedIterators
17
22
  def find_all_by(attribute, val)
18
23
  attributes, lookup_value = parse_attributes(attribute, val)
19
24
 
20
- ISO3166::Data.cache.select do |_, v|
21
- country = Country.new(v)
25
+ ISO3166::Data.cache.select do |_k, value|
26
+ country = Country.new(value)
22
27
  attributes.any? do |attr|
23
- Array(country.send(attr)).any? do |n|
24
- lookup_value === cached(n) { parse_value(n) }
28
+ Array(country.send(attr)).any? do |attr_value|
29
+ lookup_value === cached(attr_value) { parse_value(attr_value) }
25
30
  end
26
31
  end
27
32
  end
28
33
  end
29
34
 
35
+ # :reek:FeatureEnvy
30
36
  def method_missing(method_name, *arguments)
31
37
  matches = method_name.to_s.match(FIND_BY_REGEX)
32
- return_all = matches[1]
33
38
  super unless matches
39
+ return_all = matches[1]
40
+ method = matches[3]
34
41
 
35
- countries = find_by(matches[3], arguments[0], matches[2])
42
+ countries = find_by(method, arguments[0], matches[2])
36
43
  return_all ? countries : countries.last
37
44
  end
38
45
 
46
+ # :reek:BooleanParameter
39
47
  def respond_to_missing?(method_name, include_private = false)
40
48
  matches = method_name.to_s.match(FIND_BY_REGEX)
41
- if matches && matches[3]
42
- instance_methods.include?(matches[3].to_sym)
43
- else
44
- super
45
- end
49
+ return super unless matches && matches[3]
50
+
51
+ method = matches[3]
52
+
53
+ instance_methods.include?(method.to_sym)
46
54
  end
47
55
 
48
56
  protected
49
57
 
58
+ # :reek:ControlParameter
50
59
  def find_by(attribute, value, obj = nil)
51
60
  find_all_by(attribute.downcase, value).map do |country|
52
- obj.nil? ? country : new(country.last)
61
+ obj ? new(country.last) : country
53
62
  end
54
63
  end
55
64
 
56
65
  def parse_attributes(attribute, val)
57
66
  raise "Invalid attribute name '#{attribute}'" unless searchable_attribute?(attribute.to_sym)
58
67
 
59
- attributes = Array(attribute.to_s)
60
- attributes = %w[iso_long_name iso_short_name unofficial_names translated_names] if attribute.to_s == 'any_name'
68
+ attribute = attribute.to_s
69
+ attributes = Array(attribute)
70
+ attributes = %w[iso_long_name iso_short_name unofficial_names translated_names] if attribute == 'any_name'
61
71
 
62
72
  [attributes, parse_value(val)]
63
73
  end
64
74
 
75
+ # :reek:ManualDispatch
76
+ # :reek:FeatureEnvy
65
77
  def parse_value(value)
66
78
  value = value.gsub(SEARCH_TERM_FILTER_REGEX, '').freeze if value.respond_to?(:gsub)
67
79
  strip_accents(value)
@@ -72,8 +84,7 @@ module ISO3166
72
84
  end
73
85
 
74
86
  def searchable_attributes
75
- # Add name and names until we complete the deprecation of the finders
76
- instance_methods - UNSEARCHABLE_METHODS + %i[name names any_name]
87
+ instance_methods - UNSEARCHABLE_METHODS + %i[any_name]
77
88
  end
78
89
  end
79
90
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ISO3166
4
+ # :reek:TooManyMethods
4
5
  class Country
5
6
  extend CountryClassMethods
6
7
  extend ConversionMethods
@@ -9,13 +10,13 @@ module ISO3166
9
10
  include CountrySubdivisionMethods
10
11
  attr_reader :data
11
12
 
12
- ISO3166::DEFAULT_COUNTRY_HASH.each do |method_name, _type|
13
+ ISO3166::DEFAULT_COUNTRY_HASH.each_key do |method_name|
13
14
  define_method method_name do
14
15
  data[method_name.to_s]
15
16
  end
16
17
  end
17
18
 
18
- ISO3166::DEFAULT_COUNTRY_HASH['geo'].each do |method_name, _type|
19
+ ISO3166::DEFAULT_COUNTRY_HASH['geo'].each_key do |method_name|
19
20
  define_method method_name do
20
21
  data['geo'][method_name.to_s]
21
22
  end
@@ -26,6 +27,7 @@ module ISO3166
26
27
  reload
27
28
  end
28
29
 
30
+ # :reek:NilCheck
29
31
  def valid?
30
32
  !(data.nil? || data.empty?)
31
33
  end
@@ -36,6 +38,8 @@ module ISO3166
36
38
  alias zip_format postal_code_format
37
39
  alias languages languages_official
38
40
 
41
+ # :reek:FeatureEnvy
42
+ # :reek:ManualDispatch
39
43
  def ==(other)
40
44
  other.respond_to?(:alpha2) && other.alpha2 == alpha2
41
45
  end
@@ -52,17 +56,27 @@ module ISO3166
52
56
  to_s <=> other.to_s
53
57
  end
54
58
 
59
+ # Access country data by key, symbol or string.
60
+ # :reek:ManualDispatch
61
+ def [](key)
62
+ key = key.to_s if key.is_a?(Symbol)
63
+ data[key] || send(key)
64
+ end
65
+
55
66
  # +true+ if this country is a member of the European Union.
67
+ # :reek:NilCheck :reek:DuplicateMethodCall
56
68
  def in_eu?
57
69
  data['eu_member'].nil? ? false : data['eu_member']
58
70
  end
59
71
 
60
72
  # +true+ if this country is a member of the G7.
73
+ # :reek:NilCheck :reek:DuplicateMethodCall
61
74
  def in_g7?
62
75
  data['g7_member'].nil? ? false : data['g7_member']
63
76
  end
64
77
 
65
78
  # +true+ if this country is a member of the G20.
79
+ # :reek:NilCheck :reek:DuplicateMethodCall
66
80
  def in_g20?
67
81
  data['g20_member'].nil? ? false : data['g20_member']
68
82
  end
@@ -73,20 +87,34 @@ module ISO3166
73
87
  end
74
88
 
75
89
  # +true+ if this country is a member of the European Economic Area.
90
+ # :reek:NilCheck :reek:DuplicateMethodCall
76
91
  def in_eea?
77
92
  data['eea_member'].nil? ? false : data['eea_member']
78
93
  end
79
94
 
80
95
  # +true+ if this country is a member of the European Single Market.
96
+ # :reek:NilCheck :reek:DuplicateMethodCall
81
97
  def in_esm?
82
98
  data['esm_member'].nil? ? in_eea? : data['esm_member']
83
99
  end
84
100
 
85
101
  # +true+ if this country is a member of the EU VAT Area.
102
+ # :reek:NilCheck :reek:DuplicateMethodCall
86
103
  def in_eu_vat?
87
104
  data['euvat_member'].nil? ? in_eu? : data['euvat_member']
88
105
  end
89
106
 
107
+ # +true+ if this country is a member of the United Nations.
108
+ # :reek:NilCheck :reek:DuplicateMethodCall
109
+ def in_un?
110
+ data['un_member'].nil? ? false : data['un_member']
111
+ end
112
+
113
+ # @return [String] The ISO 3166-1 "Short name lower case" value for this Country.
114
+ def iso_short_name_lower_case
115
+ data['iso_short_name_lower_case'].nil? ? data['iso_short_name'] : data['iso_short_name_lower_case']
116
+ end
117
+
90
118
  # @return [String] The regex for valid postal codes in this Country
91
119
  def postal_code_format
92
120
  "\\A#{data['postal_code_format']}\\Z" if postal_code
@@ -103,8 +131,12 @@ module ISO3166
103
131
 
104
132
  # @param locale [String] The locale to use for translations.
105
133
  # @return [String] the name of this Country in the selected locale.
106
- def translation(locale = 'en')
107
- data['translations'][locale.to_s.downcase]
134
+ # :reek:FeatureEnvy
135
+ def translation(locale = :en)
136
+ locale = locale.to_sym if locale.is_a?(String)
137
+ locale = locale.downcase if locale.match?(/[A-Z]/)
138
+
139
+ data['translations'][locale]
108
140
  end
109
141
 
110
142
  # @return [String] the “common name” of this Country in English.
@@ -113,7 +145,7 @@ module ISO3166
113
145
  translation('en')
114
146
  end
115
147
 
116
- # @return [Array<String>] TThe list of names for this Country, in this Country's locales.
148
+ # @return [Array<String>] The list of names for this Country, in this Country's locales.
117
149
  def local_names
118
150
  ISO3166.configuration.locales = (ISO3166.configuration.locales + languages.map(&:to_sym)).uniq
119
151
  reload
@@ -207,6 +239,9 @@ module ISO3166
207
239
  # @!attribute vat_rates
208
240
  # @return [Hash] the hash of VAT Rates for this Country
209
241
  #
242
+ # @!attribute vehicle_registration_code
243
+ # @return [String] The vehicle registration code for this Country
244
+ #
210
245
  # @!attribute world_region
211
246
  # @return [String] The "World Region" this country is in: +"AMER"+ , +"APAC"+ or +"EMEA"+
212
247
 
@@ -45,8 +45,10 @@ AD:
45
45
  start_of_week: monday
46
46
  subregion: Southern Europe
47
47
  un_locode: AD
48
+ un_member: true
48
49
  unofficial_names:
49
50
  - Andorre
50
51
  - Andorra
51
52
  - アンドラ
53
+ vehicle_registration_code: AND
52
54
  world_region: EMEA