countries 5.1.0 → 6.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/countries/cache/countries.json +1 -1
- data/lib/countries/cache/locales/ab.json +1 -1
- data/lib/countries/cache/locales/ak.json +1 -1
- data/lib/countries/cache/locales/an.json +1 -1
- data/lib/countries/cache/locales/ar.json +1 -1
- data/lib/countries/cache/locales/ay.json +1 -1
- data/lib/countries/cache/locales/ba.json +1 -1
- data/lib/countries/cache/locales/bi.json +1 -1
- data/lib/countries/cache/locales/ch.json +1 -1
- data/lib/countries/cache/locales/de.json +1 -1
- data/lib/countries/cache/locales/ee.json +1 -1
- data/lib/countries/cache/locales/en.json +1 -1
- data/lib/countries/cache/locales/fr.json +1 -1
- data/lib/countries/cache/locales/gn.json +1 -1
- data/lib/countries/cache/locales/ja.json +1 -1
- data/lib/countries/cache/locales/ki.json +1 -1
- data/lib/countries/cache/locales/kl.json +1 -1
- data/lib/countries/cache/locales/lt.json +1 -1
- data/lib/countries/cache/locales/pt-br.json +1 -1
- data/lib/countries/cache/locales/sd.json +1 -1
- data/lib/countries/cache/locales/sw.json +1 -1
- data/lib/countries/cache/locales/th.json +1 -1
- data/lib/countries/cache/locales/tk.json +1 -1
- data/lib/countries/cache/locales/tl.json +1 -1
- data/lib/countries/cache/locales/ve.json +1 -1
- data/lib/countries/cache/locales/xh.json +1 -1
- data/lib/countries/configuration.rb +1 -1
- data/lib/countries/country/class_methods.rb +22 -23
- data/lib/countries/country/country_subdivision_methods.rb +82 -0
- data/lib/countries/country/currency_methods.rb +0 -1
- data/lib/countries/country/emoji.rb +1 -1
- data/lib/countries/country/finder_methods.rb +5 -7
- data/lib/countries/country.rb +27 -51
- data/lib/countries/data/countries/AD.yaml +1 -0
- data/lib/countries/data/countries/AE.yaml +1 -0
- data/lib/countries/data/countries/AF.yaml +1 -0
- data/lib/countries/data/countries/AG.yaml +1 -0
- data/lib/countries/data/countries/AI.yaml +1 -0
- data/lib/countries/data/countries/AL.yaml +1 -0
- data/lib/countries/data/countries/AM.yaml +1 -0
- data/lib/countries/data/countries/AO.yaml +1 -0
- data/lib/countries/data/countries/AQ.yaml +1 -0
- data/lib/countries/data/countries/AR.yaml +2 -0
- data/lib/countries/data/countries/AS.yaml +1 -0
- data/lib/countries/data/countries/AT.yaml +1 -0
- data/lib/countries/data/countries/AU.yaml +3 -0
- data/lib/countries/data/countries/AW.yaml +1 -0
- data/lib/countries/data/countries/AX.yaml +3 -0
- data/lib/countries/data/countries/AZ.yaml +1 -0
- data/lib/countries/data/countries/BA.yaml +1 -0
- data/lib/countries/data/countries/BB.yaml +1 -0
- data/lib/countries/data/countries/BD.yaml +1 -0
- data/lib/countries/data/countries/BE.yaml +1 -0
- data/lib/countries/data/countries/BF.yaml +1 -0
- data/lib/countries/data/countries/BG.yaml +1 -0
- data/lib/countries/data/countries/BH.yaml +1 -0
- data/lib/countries/data/countries/BI.yaml +1 -0
- data/lib/countries/data/countries/BJ.yaml +1 -0
- data/lib/countries/data/countries/BL.yaml +1 -0
- data/lib/countries/data/countries/BM.yaml +1 -0
- data/lib/countries/data/countries/BN.yaml +1 -0
- data/lib/countries/data/countries/BO.yaml +1 -0
- data/lib/countries/data/countries/BQ.yaml +1 -0
- data/lib/countries/data/countries/BR.yaml +2 -0
- data/lib/countries/data/countries/BS.yaml +2 -2
- data/lib/countries/data/countries/BT.yaml +1 -0
- data/lib/countries/data/countries/BV.yaml +1 -0
- data/lib/countries/data/countries/BW.yaml +1 -0
- data/lib/countries/data/countries/BY.yaml +1 -0
- data/lib/countries/data/countries/BZ.yaml +1 -0
- data/lib/countries/data/countries/CA.yaml +3 -0
- data/lib/countries/data/countries/CC.yaml +1 -0
- data/lib/countries/data/countries/CD.yaml +1 -0
- data/lib/countries/data/countries/CF.yaml +1 -0
- data/lib/countries/data/countries/CG.yaml +1 -0
- data/lib/countries/data/countries/CH.yaml +1 -0
- data/lib/countries/data/countries/CI.yaml +1 -0
- data/lib/countries/data/countries/CK.yaml +1 -0
- data/lib/countries/data/countries/CL.yaml +1 -0
- data/lib/countries/data/countries/CM.yaml +1 -0
- data/lib/countries/data/countries/CN.yaml +2 -0
- data/lib/countries/data/countries/CO.yaml +1 -0
- data/lib/countries/data/countries/CR.yaml +1 -0
- data/lib/countries/data/countries/CU.yaml +1 -0
- data/lib/countries/data/countries/CV.yaml +1 -0
- data/lib/countries/data/countries/CW.yaml +1 -0
- data/lib/countries/data/countries/CX.yaml +1 -0
- data/lib/countries/data/countries/CY.yaml +1 -0
- data/lib/countries/data/countries/CZ.yaml +3 -3
- data/lib/countries/data/countries/DE.yaml +3 -0
- data/lib/countries/data/countries/DJ.yaml +1 -0
- data/lib/countries/data/countries/DK.yaml +1 -0
- data/lib/countries/data/countries/DM.yaml +1 -0
- data/lib/countries/data/countries/DO.yaml +1 -0
- data/lib/countries/data/countries/DZ.yaml +1 -0
- data/lib/countries/data/countries/EC.yaml +1 -0
- data/lib/countries/data/countries/EE.yaml +1 -0
- data/lib/countries/data/countries/EG.yaml +1 -0
- data/lib/countries/data/countries/EH.yaml +1 -0
- data/lib/countries/data/countries/ER.yaml +1 -0
- data/lib/countries/data/countries/ES.yaml +1 -0
- data/lib/countries/data/countries/ET.yaml +1 -0
- data/lib/countries/data/countries/FI.yaml +1 -0
- data/lib/countries/data/countries/FJ.yaml +1 -0
- data/lib/countries/data/countries/FK.yaml +1 -0
- data/lib/countries/data/countries/FM.yaml +1 -0
- data/lib/countries/data/countries/FO.yaml +1 -0
- data/lib/countries/data/countries/FR.yaml +3 -0
- data/lib/countries/data/countries/GA.yaml +1 -0
- data/lib/countries/data/countries/GB.yaml +6 -0
- data/lib/countries/data/countries/GD.yaml +1 -0
- data/lib/countries/data/countries/GE.yaml +1 -0
- data/lib/countries/data/countries/GF.yaml +3 -0
- data/lib/countries/data/countries/GG.yaml +1 -0
- data/lib/countries/data/countries/GH.yaml +1 -0
- data/lib/countries/data/countries/GI.yaml +1 -0
- data/lib/countries/data/countries/GL.yaml +1 -0
- data/lib/countries/data/countries/GM.yaml +2 -1
- data/lib/countries/data/countries/GN.yaml +1 -0
- data/lib/countries/data/countries/GP.yaml +4 -1
- data/lib/countries/data/countries/GQ.yaml +1 -0
- data/lib/countries/data/countries/GR.yaml +1 -0
- data/lib/countries/data/countries/GS.yaml +1 -0
- data/lib/countries/data/countries/GT.yaml +1 -0
- data/lib/countries/data/countries/GU.yaml +1 -0
- data/lib/countries/data/countries/GW.yaml +1 -0
- data/lib/countries/data/countries/GY.yaml +1 -0
- data/lib/countries/data/countries/HK.yaml +1 -0
- data/lib/countries/data/countries/HM.yaml +1 -0
- data/lib/countries/data/countries/HN.yaml +1 -0
- data/lib/countries/data/countries/HR.yaml +2 -1
- data/lib/countries/data/countries/HT.yaml +1 -0
- data/lib/countries/data/countries/HU.yaml +1 -0
- data/lib/countries/data/countries/ID.yaml +2 -0
- data/lib/countries/data/countries/IE.yaml +1 -0
- data/lib/countries/data/countries/IL.yaml +1 -0
- data/lib/countries/data/countries/IM.yaml +1 -0
- data/lib/countries/data/countries/IN.yaml +2 -0
- data/lib/countries/data/countries/IO.yaml +1 -0
- data/lib/countries/data/countries/IQ.yaml +1 -0
- data/lib/countries/data/countries/IR.yaml +1 -0
- data/lib/countries/data/countries/IS.yaml +1 -0
- data/lib/countries/data/countries/IT.yaml +3 -0
- data/lib/countries/data/countries/JE.yaml +1 -0
- data/lib/countries/data/countries/JM.yaml +1 -0
- data/lib/countries/data/countries/JO.yaml +1 -0
- data/lib/countries/data/countries/JP.yaml +3 -0
- data/lib/countries/data/countries/KE.yaml +1 -0
- data/lib/countries/data/countries/KG.yaml +1 -0
- data/lib/countries/data/countries/KH.yaml +1 -0
- data/lib/countries/data/countries/KI.yaml +1 -0
- data/lib/countries/data/countries/KM.yaml +1 -0
- data/lib/countries/data/countries/KN.yaml +1 -0
- data/lib/countries/data/countries/KP.yaml +1 -0
- data/lib/countries/data/countries/KR.yaml +2 -0
- data/lib/countries/data/countries/KW.yaml +1 -0
- data/lib/countries/data/countries/KY.yaml +1 -0
- data/lib/countries/data/countries/KZ.yaml +1 -0
- data/lib/countries/data/countries/LA.yaml +1 -0
- data/lib/countries/data/countries/LB.yaml +2 -1
- data/lib/countries/data/countries/LC.yaml +1 -0
- data/lib/countries/data/countries/LI.yaml +3 -0
- data/lib/countries/data/countries/LK.yaml +1 -0
- data/lib/countries/data/countries/LR.yaml +1 -0
- data/lib/countries/data/countries/LS.yaml +1 -0
- data/lib/countries/data/countries/LT.yaml +1 -0
- data/lib/countries/data/countries/LU.yaml +1 -0
- data/lib/countries/data/countries/LV.yaml +1 -0
- data/lib/countries/data/countries/LY.yaml +1 -0
- data/lib/countries/data/countries/MA.yaml +1 -0
- data/lib/countries/data/countries/MC.yaml +3 -0
- data/lib/countries/data/countries/MD.yaml +1 -0
- data/lib/countries/data/countries/ME.yaml +1 -0
- data/lib/countries/data/countries/MF.yaml +4 -1
- data/lib/countries/data/countries/MG.yaml +1 -0
- data/lib/countries/data/countries/MH.yaml +1 -0
- data/lib/countries/data/countries/MK.yaml +2 -0
- data/lib/countries/data/countries/ML.yaml +1 -0
- data/lib/countries/data/countries/MM.yaml +2 -1
- data/lib/countries/data/countries/MN.yaml +1 -0
- data/lib/countries/data/countries/MO.yaml +1 -0
- data/lib/countries/data/countries/MP.yaml +1 -0
- data/lib/countries/data/countries/MQ.yaml +3 -0
- data/lib/countries/data/countries/MR.yaml +1 -0
- data/lib/countries/data/countries/MS.yaml +1 -0
- data/lib/countries/data/countries/MT.yaml +1 -0
- data/lib/countries/data/countries/MU.yaml +1 -0
- data/lib/countries/data/countries/MV.yaml +1 -0
- data/lib/countries/data/countries/MW.yaml +1 -0
- data/lib/countries/data/countries/MX.yaml +2 -0
- data/lib/countries/data/countries/MY.yaml +1 -0
- data/lib/countries/data/countries/MZ.yaml +1 -0
- data/lib/countries/data/countries/NA.yaml +1 -0
- data/lib/countries/data/countries/NC.yaml +1 -0
- data/lib/countries/data/countries/NE.yaml +1 -0
- data/lib/countries/data/countries/NF.yaml +1 -0
- data/lib/countries/data/countries/NG.yaml +1 -0
- data/lib/countries/data/countries/NI.yaml +1 -0
- data/lib/countries/data/countries/NL.yaml +2 -0
- data/lib/countries/data/countries/NO.yaml +1 -0
- data/lib/countries/data/countries/NP.yaml +1 -0
- data/lib/countries/data/countries/NR.yaml +1 -0
- data/lib/countries/data/countries/NU.yaml +1 -0
- data/lib/countries/data/countries/NZ.yaml +1 -0
- data/lib/countries/data/countries/OM.yaml +1 -0
- data/lib/countries/data/countries/PA.yaml +1 -0
- data/lib/countries/data/countries/PE.yaml +1 -0
- data/lib/countries/data/countries/PF.yaml +1 -0
- data/lib/countries/data/countries/PG.yaml +1 -0
- data/lib/countries/data/countries/PH.yaml +1 -0
- data/lib/countries/data/countries/PK.yaml +1 -0
- data/lib/countries/data/countries/PL.yaml +1 -0
- data/lib/countries/data/countries/PM.yaml +1 -0
- data/lib/countries/data/countries/PN.yaml +1 -0
- data/lib/countries/data/countries/PR.yaml +1 -0
- data/lib/countries/data/countries/PS.yaml +3 -0
- data/lib/countries/data/countries/PT.yaml +1 -0
- data/lib/countries/data/countries/PW.yaml +1 -0
- data/lib/countries/data/countries/PY.yaml +1 -0
- data/lib/countries/data/countries/QA.yaml +1 -0
- data/lib/countries/data/countries/RE.yaml +3 -0
- data/lib/countries/data/countries/RO.yaml +1 -0
- data/lib/countries/data/countries/RS.yaml +1 -0
- data/lib/countries/data/countries/RU.yaml +2 -0
- data/lib/countries/data/countries/RW.yaml +1 -0
- data/lib/countries/data/countries/SA.yaml +2 -0
- data/lib/countries/data/countries/SB.yaml +1 -0
- data/lib/countries/data/countries/SC.yaml +1 -0
- data/lib/countries/data/countries/SD.yaml +1 -0
- data/lib/countries/data/countries/SE.yaml +1 -0
- data/lib/countries/data/countries/SG.yaml +1 -0
- data/lib/countries/data/countries/SH.yaml +1 -0
- data/lib/countries/data/countries/SI.yaml +1 -0
- data/lib/countries/data/countries/SJ.yaml +1 -0
- data/lib/countries/data/countries/SK.yaml +1 -0
- data/lib/countries/data/countries/SL.yaml +1 -0
- data/lib/countries/data/countries/SM.yaml +1 -0
- data/lib/countries/data/countries/SN.yaml +1 -0
- data/lib/countries/data/countries/SO.yaml +1 -0
- data/lib/countries/data/countries/SR.yaml +1 -0
- data/lib/countries/data/countries/SS.yaml +1 -0
- data/lib/countries/data/countries/ST.yaml +1 -0
- data/lib/countries/data/countries/SV.yaml +1 -0
- data/lib/countries/data/countries/SX.yaml +1 -0
- data/lib/countries/data/countries/SY.yaml +1 -0
- data/lib/countries/data/countries/SZ.yaml +1 -0
- data/lib/countries/data/countries/TC.yaml +1 -0
- data/lib/countries/data/countries/TD.yaml +1 -0
- data/lib/countries/data/countries/TF.yaml +1 -0
- data/lib/countries/data/countries/TG.yaml +1 -0
- data/lib/countries/data/countries/TH.yaml +2 -0
- data/lib/countries/data/countries/TJ.yaml +1 -0
- data/lib/countries/data/countries/TK.yaml +1 -0
- data/lib/countries/data/countries/TL.yaml +1 -0
- data/lib/countries/data/countries/TM.yaml +2 -1
- data/lib/countries/data/countries/TN.yaml +1 -0
- data/lib/countries/data/countries/TO.yaml +1 -0
- data/lib/countries/data/countries/TR.yaml +4 -2
- data/lib/countries/data/countries/TT.yaml +1 -0
- data/lib/countries/data/countries/TV.yaml +1 -0
- data/lib/countries/data/countries/TW.yaml +16 -13
- data/lib/countries/data/countries/TZ.yaml +1 -0
- data/lib/countries/data/countries/UA.yaml +1 -0
- data/lib/countries/data/countries/UG.yaml +1 -0
- data/lib/countries/data/countries/UM.yaml +1 -0
- data/lib/countries/data/countries/US.yaml +4 -1
- data/lib/countries/data/countries/UY.yaml +1 -0
- data/lib/countries/data/countries/UZ.yaml +1 -0
- data/lib/countries/data/countries/VA.yaml +1 -0
- data/lib/countries/data/countries/VC.yaml +1 -0
- data/lib/countries/data/countries/VE.yaml +1 -0
- data/lib/countries/data/countries/VG.yaml +1 -0
- data/lib/countries/data/countries/VI.yaml +2 -0
- data/lib/countries/data/countries/VN.yaml +1 -0
- data/lib/countries/data/countries/VU.yaml +1 -0
- data/lib/countries/data/countries/WF.yaml +1 -0
- data/lib/countries/data/countries/WS.yaml +1 -0
- data/lib/countries/data/countries/YE.yaml +1 -0
- data/lib/countries/data/countries/YT.yaml +3 -0
- data/lib/countries/data/countries/ZA.yaml +2 -0
- data/lib/countries/data/countries/ZM.yaml +1 -0
- data/lib/countries/data/countries/ZW.yaml +1 -0
- data/lib/countries/data/locales_methods.rb +23 -0
- data/lib/countries/data/subdivision_methods.rb +30 -0
- data/lib/countries/data/subdivisions/AD.yaml +7 -0
- data/lib/countries/data/subdivisions/AE.yaml +24 -0
- data/lib/countries/data/subdivisions/AF.yaml +200 -1
- data/lib/countries/data/subdivisions/AG.yaml +17 -0
- data/lib/countries/data/subdivisions/AL.yaml +69 -0
- data/lib/countries/data/subdivisions/AM.yaml +44 -0
- data/lib/countries/data/subdivisions/AO.yaml +54 -0
- data/lib/countries/data/subdivisions/AR.yaml +69 -0
- data/lib/countries/data/subdivisions/AT.yaml +35 -0
- data/lib/countries/data/subdivisions/AU.yaml +37 -0
- data/lib/countries/data/subdivisions/AZ.yaml +316 -2
- data/lib/countries/data/subdivisions/BA.yaml +8 -0
- data/lib/countries/data/subdivisions/BB.yaml +15 -0
- data/lib/countries/data/subdivisions/BD.yaml +211 -0
- data/lib/countries/data/subdivisions/BE.yaml +34 -0
- data/lib/countries/data/subdivisions/BF.yaml +56 -0
- data/lib/countries/data/subdivisions/BG.yaml +30 -0
- data/lib/countries/data/subdivisions/BH.yaml +13 -0
- data/lib/countries/data/subdivisions/BI.yaml +54 -0
- data/lib/countries/data/subdivisions/BJ.yaml +22 -0
- data/lib/countries/data/subdivisions/BN.yaml +9 -0
- data/lib/countries/data/subdivisions/BO.yaml +35 -0
- data/lib/countries/data/subdivisions/BQ.yaml +4 -0
- data/lib/countries/data/subdivisions/BR.yaml +14 -0
- data/lib/countries/data/subdivisions/BS.yaml +24 -0
- data/lib/countries/data/subdivisions/BT.yaml +24 -0
- data/lib/countries/data/subdivisions/BW.yaml +24 -0
- data/lib/countries/data/subdivisions/BY.yaml +5 -0
- data/lib/countries/data/subdivisions/BZ.yaml +3 -0
- data/lib/countries/data/subdivisions/CA.yaml +24 -0
- data/lib/countries/data/subdivisions/CD.yaml +77 -0
- data/lib/countries/data/subdivisions/CF.yaml +15 -0
- data/lib/countries/data/subdivisions/CG.yaml +18 -0
- data/lib/countries/data/subdivisions/CH.yaml +92 -0
- data/lib/countries/data/subdivisions/CI.yaml +65 -0
- data/lib/countries/data/subdivisions/CL.yaml +45 -2
- data/lib/countries/data/subdivisions/CM.yaml +22 -0
- data/lib/countries/data/subdivisions/CN.yaml +98 -0
- data/lib/countries/data/subdivisions/CO.yaml +68 -0
- data/lib/countries/data/subdivisions/CR.yaml +14 -0
- data/lib/countries/data/subdivisions/CU.yaml +42 -0
- data/lib/countries/data/subdivisions/CV.yaml +32 -0
- data/lib/countries/data/subdivisions/CY.yaml +18 -0
- data/lib/countries/data/subdivisions/CZ.yaml +227 -0
- data/lib/countries/data/subdivisions/DE.yaml +31 -0
- data/lib/countries/data/subdivisions/DJ.yaml +16 -0
- data/lib/countries/data/subdivisions/DK.yaml +13 -0
- data/lib/countries/data/subdivisions/DM.yaml +1 -0
- data/lib/countries/data/subdivisions/DO.yaml +102 -0
- data/lib/countries/data/subdivisions/DZ.yaml +104 -0
- data/lib/countries/data/subdivisions/EC.yaml +72 -0
- data/lib/countries/data/subdivisions/EE.yaml +6 -0
- data/lib/countries/data/subdivisions/EG.yaml +54 -0
- data/lib/countries/data/subdivisions/ER.yaml +2 -0
- data/lib/countries/data/subdivisions/ES.yaml +252 -0
- data/lib/countries/data/subdivisions/ET.yaml +27 -0
- data/lib/countries/data/subdivisions/FI.yaml +78 -0
- data/lib/countries/data/subdivisions/FJ.yaml +30 -0
- data/lib/countries/data/subdivisions/FM.yaml +11 -0
- data/lib/countries/data/subdivisions/FR.yaml +332 -1
- data/lib/countries/data/subdivisions/GA.yaml +24 -0
- data/lib/countries/data/subdivisions/GB.yaml +488 -0
- data/lib/countries/data/subdivisions/GD.yaml +10 -0
- data/lib/countries/data/subdivisions/GE.yaml +34 -0
- data/lib/countries/data/subdivisions/GH.yaml +79 -0
- data/lib/countries/data/subdivisions/GL.yaml +58 -0
- data/lib/countries/data/subdivisions/GM.yaml +10 -0
- data/lib/countries/data/subdivisions/GN.yaml +65 -0
- data/lib/countries/data/subdivisions/GQ.yaml +36 -0
- data/lib/countries/data/subdivisions/GR.yaml +41 -0
- data/lib/countries/data/subdivisions/GW.yaml +24 -0
- data/lib/countries/data/subdivisions/GY.yaml +31 -0
- data/lib/countries/data/subdivisions/HN.yaml +21 -0
- data/lib/countries/data/subdivisions/HR.yaml +82 -0
- data/lib/countries/data/subdivisions/HT.yaml +14 -0
- data/lib/countries/data/subdivisions/HU.yaml +94 -0
- data/lib/countries/data/subdivisions/ID.yaml +99 -0
- data/lib/countries/data/subdivisions/IE.yaml +39 -0
- data/lib/countries/data/subdivisions/IL.yaml +15 -0
- data/lib/countries/data/subdivisions/IN.yaml +219 -9
- data/lib/countries/data/subdivisions/IQ.yaml +59 -0
- data/lib/countries/data/subdivisions/IR.yaml +34 -2
- data/lib/countries/data/subdivisions/IS.yaml +560 -0
- data/lib/countries/data/subdivisions/IT.yaml +321 -0
- data/lib/countries/data/subdivisions/JM.yaml +22 -0
- data/lib/countries/data/subdivisions/JO.yaml +16 -0
- data/lib/countries/data/subdivisions/JP.yaml +42 -0
- data/lib/countries/data/subdivisions/KE.yaml +298 -0
- data/lib/countries/data/subdivisions/KG.yaml +28 -0
- data/lib/countries/data/subdivisions/KH.yaml +108 -0
- data/lib/countries/data/subdivisions/KI.yaml +6 -0
- data/lib/countries/data/subdivisions/KM.yaml +4 -0
- data/lib/countries/data/subdivisions/KN.yaml +6 -0
- data/lib/countries/data/subdivisions/KP.yaml +42 -0
- data/lib/countries/data/subdivisions/KR.yaml +36 -0
- data/lib/countries/data/subdivisions/KW.yaml +5 -0
- data/lib/countries/data/subdivisions/KZ.yaml +127 -0
- data/lib/countries/data/subdivisions/LA.yaml +49 -0
- data/lib/countries/data/subdivisions/LB.yaml +28 -0
- data/lib/countries/data/subdivisions/LC.yaml +6 -0
- data/lib/countries/data/subdivisions/LI.yaml +37 -0
- data/lib/countries/data/subdivisions/LK.yaml +67 -0
- data/lib/countries/data/subdivisions/LR.yaml +16 -0
- data/lib/countries/data/subdivisions/LS.yaml +23 -0
- data/lib/countries/data/subdivisions/LT.yaml +315 -0
- data/lib/countries/data/subdivisions/LU.yaml +31 -0
- data/lib/countries/data/subdivisions/LV.yaml +83 -0
- data/lib/countries/data/subdivisions/LY.yaml +16 -0
- data/lib/countries/data/subdivisions/MA.yaml +827 -12
- data/lib/countries/data/subdivisions/MC.yaml +47 -0
- data/lib/countries/data/subdivisions/MD.yaml +41 -0
- data/lib/countries/data/subdivisions/ME.yaml +83 -0
- data/lib/countries/data/subdivisions/MG.yaml +21 -0
- data/lib/countries/data/subdivisions/MH.yaml +70 -0
- data/lib/countries/data/subdivisions/MK.yaml +505 -0
- data/lib/countries/data/subdivisions/ML.yaml +33 -0
- data/lib/countries/data/subdivisions/MM.yaml +51 -0
- data/lib/countries/data/subdivisions/MN.yaml +94 -0
- data/lib/countries/data/subdivisions/MR.yaml +32 -0
- data/lib/countries/data/subdivisions/MT.yaml +126 -0
- data/lib/countries/data/subdivisions/MU.yaml +21 -0
- data/lib/countries/data/subdivisions/MV.yaml +20 -0
- data/lib/countries/data/subdivisions/MW.yaml +52 -0
- data/lib/countries/data/subdivisions/MX.yaml +23 -0
- data/lib/countries/data/subdivisions/MY.yaml +24 -0
- data/lib/countries/data/subdivisions/MZ.yaml +20 -0
- data/lib/countries/data/subdivisions/NA.yaml +28 -0
- data/lib/countries/data/subdivisions/NE.yaml +9 -0
- data/lib/countries/data/subdivisions/NG.yaml +89 -0
- data/lib/countries/data/subdivisions/NI.yaml +25 -0
- data/lib/countries/data/subdivisions/NL.yaml +24 -0
- data/lib/countries/data/subdivisions/NO.yaml +138 -1
- data/lib/countries/data/subdivisions/NP.yaml +9 -0
- data/lib/countries/data/subdivisions/NR.yaml +19 -0
- data/lib/countries/data/subdivisions/NZ.yaml +34 -0
- data/lib/countries/data/subdivisions/OM.yaml +10 -0
- data/lib/countries/data/subdivisions/PA.yaml +27 -0
- data/lib/countries/data/subdivisions/PE.yaml +24 -0
- data/lib/countries/data/subdivisions/PG.yaml +46 -0
- data/lib/countries/data/subdivisions/PH.yaml +293 -0
- data/lib/countries/data/subdivisions/PK.yaml +22 -0
- data/lib/countries/data/subdivisions/PL.yaml +141 -0
- data/lib/countries/data/subdivisions/PS.yaml +41 -0
- data/lib/countries/data/subdivisions/PT.yaml +36 -0
- data/lib/countries/data/subdivisions/PW.yaml +24 -0
- data/lib/countries/data/subdivisions/PY.yaml +22 -1
- data/lib/countries/data/subdivisions/QA.yaml +26 -0
- data/lib/countries/data/subdivisions/RO.yaml +189 -0
- data/lib/countries/data/subdivisions/RS.yaml +112 -0
- data/lib/countries/data/subdivisions/RU.yaml +123 -0
- data/lib/countries/data/subdivisions/RW.yaml +7 -0
- data/lib/countries/data/subdivisions/SA.yaml +38 -0
- data/lib/countries/data/subdivisions/SB.yaml +11 -0
- data/lib/countries/data/subdivisions/SC.yaml +45 -0
- data/lib/countries/data/subdivisions/SD.yaml +15 -0
- data/lib/countries/data/subdivisions/SE.yaml +42 -0
- data/lib/countries/data/subdivisions/SG.yaml +8 -0
- data/lib/countries/data/subdivisions/SH.yaml +6 -0
- data/lib/countries/data/subdivisions/SI.yaml +735 -0
- data/lib/countries/data/subdivisions/SK.yaml +22 -0
- data/lib/countries/data/subdivisions/SL.yaml +7 -0
- data/lib/countries/data/subdivisions/SM.yaml +19 -0
- data/lib/countries/data/subdivisions/SN.yaml +43 -0
- data/lib/countries/data/subdivisions/SO.yaml +71 -0
- data/lib/countries/data/subdivisions/SR.yaml +17 -0
- data/lib/countries/data/subdivisions/SS.yaml +4 -0
- data/lib/countries/data/subdivisions/ST.yaml +127 -0
- data/lib/countries/data/subdivisions/SV.yaml +20 -0
- data/lib/countries/data/subdivisions/SY.yaml +53 -0
- data/lib/countries/data/subdivisions/SZ.yaml +18 -0
- data/lib/countries/data/subdivisions/TD.yaml +51 -0
- data/lib/countries/data/subdivisions/TG.yaml +13 -0
- data/lib/countries/data/subdivisions/TH.yaml +231 -0
- data/lib/countries/data/subdivisions/TJ.yaml +16 -1
- data/lib/countries/data/subdivisions/TL.yaml +38 -0
- data/lib/countries/data/subdivisions/TM.yaml +16 -1
- data/lib/countries/data/subdivisions/TN.yaml +25 -0
- data/lib/countries/data/subdivisions/TO.yaml +1 -0
- data/lib/countries/data/subdivisions/TR.yaml +93 -0
- data/lib/countries/data/subdivisions/TT.yaml +25 -0
- data/lib/countries/data/subdivisions/TV.yaml +25 -0
- data/lib/countries/data/subdivisions/TW.yaml +106 -0
- data/lib/countries/data/subdivisions/TZ.yaml +38 -0
- data/lib/countries/data/subdivisions/UA.yaml +108 -1
- data/lib/countries/data/subdivisions/UG.yaml +262 -0
- data/lib/countries/data/subdivisions/UM.yaml +4 -0
- data/lib/countries/data/subdivisions/US.yaml +166 -4
- data/lib/countries/data/subdivisions/UY.yaml +27 -0
- data/lib/countries/data/subdivisions/UZ.yaml +78 -1
- data/lib/countries/data/subdivisions/VC.yaml +6 -0
- data/lib/countries/data/subdivisions/VE.yaml +33 -0
- data/lib/countries/data/subdivisions/VN.yaml +131 -0
- data/lib/countries/data/subdivisions/VU.yaml +8 -0
- data/lib/countries/data/subdivisions/WS.yaml +18 -0
- data/lib/countries/data/subdivisions/YE.yaml +16 -0
- data/lib/countries/data/subdivisions/ZA.yaml +5 -0
- data/lib/countries/data/subdivisions/ZM.yaml +24 -0
- data/lib/countries/data/subdivisions/ZW.yaml +21 -0
- data/lib/countries/data/translations/countries-ab.yaml +1 -1
- data/lib/countries/data/translations/countries-ak.yaml +1 -1
- data/lib/countries/data/translations/countries-an.yaml +1 -1
- data/lib/countries/data/translations/countries-ar.yaml +1 -1
- data/lib/countries/data/translations/countries-ay.yaml +1 -1
- data/lib/countries/data/translations/countries-ba.yaml +1 -1
- data/lib/countries/data/translations/countries-bi.yaml +1 -1
- data/lib/countries/data/translations/countries-ch.yaml +1 -1
- data/lib/countries/data/translations/countries-de.yaml +2 -2
- data/lib/countries/data/translations/countries-ee.yaml +1 -1
- data/lib/countries/data/translations/countries-en.yaml +1 -1
- data/lib/countries/data/translations/countries-fr.yaml +7 -7
- data/lib/countries/data/translations/countries-gn.yaml +2 -2
- data/lib/countries/data/translations/countries-ja.yaml +4 -4
- data/lib/countries/data/translations/countries-ki.yaml +1 -1
- data/lib/countries/data/translations/countries-kl.yaml +1 -1
- data/lib/countries/data/translations/countries-lt.yaml +2 -2
- data/lib/countries/data/translations/countries-pt_BR.yaml +1 -1
- data/lib/countries/data/translations/countries-sd.yaml +1 -1
- data/lib/countries/data/translations/countries-sw.yaml +1 -1
- data/lib/countries/data/translations/countries-th.yaml +2 -2
- data/lib/countries/data/translations/countries-tk.yaml +88 -88
- data/lib/countries/data/translations/countries-tl.yaml +1 -1
- data/lib/countries/data/translations/countries-ve.yaml +1 -1
- data/lib/countries/data/translations/countries-xh.yaml +1 -1
- data/lib/countries/data.rb +31 -43
- data/lib/countries/global.rb +0 -1
- data/lib/countries/iso3166.rb +3 -1
- data/lib/countries/sources/cldr/subdivision.rb +1 -1
- data/lib/countries/structure.rb +1 -0
- data/lib/countries/subdivision.rb +5 -0
- data/lib/countries/tasks/postal_codes.rake +6 -2
- data/lib/countries/version.rb +1 -1
- data/lib/countries.rb +0 -2
- metadata +25 -44
- data/.github/workflows/codeql-analysis.yml +0 -70
- data/.github/workflows/tests.yml +0 -35
- data/.gitignore +0 -26
- data/.rspec +0 -2
- data/.rubocop.yml +0 -40
- data/.rubocop_todo.yml +0 -19
- data/CHANGELOG.md +0 -663
- data/Gemfile +0 -16
- data/LICENSE +0 -24
- data/README.markdown +0 -346
- data/Rakefile +0 -63
- data/UPGRADE.md +0 -39
- data/bin/console +0 -15
- data/countries.gemspec +0 -30
- data/lib/countries/kwarg_struct.rb +0 -14
- data/lib/countries/tasks/geocoding.rake +0 -106
- data/spec/00_global_spec.rb +0 -58
- data/spec/configuration_spec.rb +0 -60
- data/spec/country_spec.rb +0 -1131
- data/spec/data_spec.rb +0 -245
- data/spec/mongoid_spec.rb +0 -61
- data/spec/perf_spec.rb +0 -74
- data/spec/spec_helper.rb +0 -15
- data/spec/subdivision_spec.rb +0 -34
- data/spec/thread_safety_spec.rb +0 -47
- data/spec/timezone_spec.rb +0 -34
@@ -4,21 +4,21 @@
|
|
4
4
|
#
|
5
5
|
---
|
6
6
|
AD: Andorra
|
7
|
-
AE: Birleşen Arap
|
7
|
+
AE: Birleşen Arap Emirlikleri
|
8
8
|
AF: Owganystan
|
9
9
|
AG: Antigua we Barbuda
|
10
|
-
AI:
|
10
|
+
AI: Angwilla
|
11
11
|
AL: Albaniýa
|
12
12
|
AM: Ermenistan
|
13
13
|
AO: Angola
|
14
|
-
AQ:
|
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
|
21
|
-
AZ:
|
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:
|
32
|
-
BM: Bermud
|
31
|
+
BL: Sen-Bartelmi
|
32
|
+
BM: Bermud adalary
|
33
33
|
BN: Bruneý Darussalam
|
34
34
|
BO: Boliwiýa
|
35
|
-
BQ:
|
35
|
+
BQ: Boneýr, Sint-Estatius we Saba
|
36
36
|
BR: Braziliýa
|
37
|
-
BS:
|
37
|
+
BS: Bagama adalary
|
38
38
|
BT: Butan
|
39
|
-
BV:
|
39
|
+
BV: Buwe adasy
|
40
40
|
BW: Botswana
|
41
41
|
BY: Belarus
|
42
42
|
BZ: Beliz
|
43
43
|
CA: Kanada
|
44
|
-
CC:
|
45
|
-
CD: Kongo
|
46
|
-
CF: Merkezi
|
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:
|
50
|
+
CK: Kuk adalary
|
51
51
|
CL: Çili
|
52
52
|
CM: Kamerun
|
53
|
-
CN:
|
53
|
+
CN: Hytaý
|
54
54
|
CO: Kolumbiýa
|
55
55
|
CR: Kosta-Rika
|
56
56
|
CU: Kuba
|
57
|
-
CV:
|
58
|
-
CW:
|
59
|
-
CX:
|
57
|
+
CV: Kabo-Werde
|
58
|
+
CW: Kürasao
|
59
|
+
CX: Roždestwo adalary
|
60
60
|
CY: Kipr
|
61
|
-
CZ:
|
61
|
+
CZ: Çehiýa
|
62
62
|
DE: Germaniýa
|
63
63
|
DJ: Jibuti
|
64
64
|
DK: Daniýa
|
65
|
-
DM:
|
66
|
-
DO: Dominakan
|
67
|
-
DZ:
|
65
|
+
DM: Dominika
|
66
|
+
DO: Dominakan respublikasy
|
67
|
+
DZ: Alžyr
|
68
68
|
EC: Ekwador
|
69
69
|
EE: Estoniýa
|
70
|
-
EG:
|
71
|
-
EH:
|
72
|
-
ER:
|
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
|
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:
|
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:
|
95
|
-
GS:
|
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:
|
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:
|
109
|
-
IM:
|
108
|
+
IL: Izraýyl
|
109
|
+
IM: Men adasy
|
110
110
|
IN: Hindistan
|
111
|
-
IO:
|
112
|
-
IQ:
|
113
|
-
IR: Eýran
|
114
|
-
IS:
|
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:
|
116
|
+
JE: Jersi
|
117
117
|
JM: Ýamaýka
|
118
|
-
JO:
|
118
|
+
JO: Iordaniýa
|
119
119
|
JP: Ýaponiýa
|
120
120
|
KE: Keniýa
|
121
|
-
KG:
|
122
|
-
KH:
|
121
|
+
KG: Gyrgyzstan
|
122
|
+
KH: Kambojiýa
|
123
123
|
KI: Kiribati
|
124
124
|
KM: Komor Adalary
|
125
|
-
KN: Sent-
|
126
|
-
KP: Koreýa
|
127
|
-
KR: Koreýa
|
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:
|
129
|
+
KY: Kaýman adalary
|
130
130
|
KZ: Gazagystan
|
131
|
-
LA: Lao
|
131
|
+
LA: Lao halk demokratik respublikasy
|
132
132
|
LB: Liwan
|
133
|
-
LC: Sent
|
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:
|
139
|
-
LU:
|
140
|
-
LV:
|
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:
|
146
|
-
MF:
|
145
|
+
ME: Çernogoriýa
|
146
|
+
MF: Sen-Marten (Fransuz tarapy)
|
147
147
|
MG: Madagaskar
|
148
|
-
MH:
|
149
|
-
MK:
|
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:
|
154
|
+
MP: Demirgazyk Mariana adalary
|
155
155
|
MQ: Martinika
|
156
156
|
MR: Mawritaniýa
|
157
157
|
MS: Montserrat
|
158
158
|
MT: Malta
|
159
|
-
MU:
|
160
|
-
MV:
|
159
|
+
MU: Mawrikiý
|
160
|
+
MV: Maldiw adalary
|
161
161
|
MW: Malawi
|
162
|
-
MX:
|
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:
|
180
|
+
PF: Fransuz Polineziýa
|
181
181
|
PG: Papua-Täze Gwineýa
|
182
|
-
PH:
|
183
|
-
PK:
|
182
|
+
PH: Filippin adalary
|
183
|
+
PK: Päkistan
|
184
184
|
PL: Polşa
|
185
|
-
PM: Sen
|
186
|
-
PN:
|
185
|
+
PM: Sen-Pýer we Mikelon
|
186
|
+
PN: Pitkern
|
187
187
|
PR: Puerto-Riko
|
188
|
-
PS:
|
188
|
+
PS: Palestina
|
189
189
|
PT: Portugaliýa
|
190
190
|
PW: Palau
|
191
191
|
PY: Paragwaý
|
192
192
|
QA: Katar
|
193
|
-
RE:
|
193
|
+
RE: Reýunýon
|
194
194
|
RO: Rumyniýa
|
195
195
|
RS: Serbiýa
|
196
|
-
RU: Russiýa
|
197
|
-
RW:
|
198
|
-
SA: Saud
|
199
|
-
SB:
|
200
|
-
SC: Seýşel
|
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:
|
204
|
+
SH: Mukaddes Ýelena adasy, Wozneseniýe adasy we Tristan-da-Kunýa
|
205
205
|
SI: Sloweniýa
|
206
|
-
SJ:
|
207
|
-
SK:
|
208
|
-
SL:
|
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:
|
211
|
+
SO: Somali
|
212
212
|
SR: Surinam
|
213
213
|
SS: Günorta Sudan
|
214
|
-
ST: San-Tome we
|
214
|
+
ST: San-Tome we Prinsipi
|
215
215
|
SV: Salwador
|
216
|
-
SX: Sint
|
217
|
-
SY: Siriýa
|
216
|
+
SX: Sint-Marten (Golland tarapy)
|
217
|
+
SY: Siriýa arap respublikasy
|
218
218
|
SZ: Eswatini
|
219
|
-
TC: Turks
|
219
|
+
TC: Turks we Kaikos adalary
|
220
220
|
TD: Çad
|
221
|
-
TF:
|
222
|
-
TG:
|
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:
|
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:
|
238
|
-
US: Birleşen
|
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
|
242
|
-
VC: Sent-Winsent we
|
241
|
+
VA: Watikan döwlet-şäheri
|
242
|
+
VC: Sent-Winsent we Grenadin adalary
|
243
243
|
VE: Wenesuela
|
244
|
-
VG: Wirgin adalary
|
245
|
-
VI: Wirgin adalary
|
244
|
+
VG: Britan Wirgin adalary
|
245
|
+
VI: ABŞ Wirgin adalary
|
246
246
|
VN: Wýetnam
|
247
247
|
VU: Wanuatu
|
248
|
-
WF:
|
248
|
+
WF: Wolles we Futana
|
249
249
|
WS: Samoa
|
250
250
|
YE: Ýemen
|
251
251
|
YT: Maýotta
|
data/lib/countries/data.rb
CHANGED
@@ -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
|
-
|
47
|
-
|
48
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
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!
|
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
|
data/lib/countries/global.rb
CHANGED
data/lib/countries/iso3166.rb
CHANGED
@@ -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'
|
data/lib/countries/structure.rb
CHANGED
@@ -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']
|
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 =
|
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?]
|
data/lib/countries/version.rb
CHANGED