countries 5.1.2 → 5.7.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.
- checksums.yaml +4 -4
- data/.codeclimate.yml +61 -0
- data/.github/FUNDING.yml +1 -0
- data/.github/workflows/codeql-analysis.yml +3 -3
- data/.github/workflows/tests.yml +10 -13
- data/.gitignore +0 -1
- data/.rubocop.yml +17 -8
- data/CHANGELOG.md +97 -2
- data/Gemfile +1 -2
- data/Gemfile.lock +102 -0
- data/{README.markdown → README.md} +69 -14
- data/Rakefile +2 -3
- data/countries.gemspec +6 -5
- 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/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 +25 -6
- data/lib/countries/country/country_subdivision_methods.rb +82 -0
- data/lib/countries/country/currency_methods.rb +0 -1
- data/lib/countries/country/finder_methods.rb +2 -4
- 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 +1 -0
- 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 +1 -0
- 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 +3 -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 +1 -0
- 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 +1 -0
- 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 +1 -0
- data/lib/countries/data/countries/ML.yaml +1 -0
- data/lib/countries/data/countries/MM.yaml +1 -0
- 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 +1 -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 +1 -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 +1 -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 +3 -0
- 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 +1 -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 +210 -0
- data/lib/countries/data/subdivisions/IQ.yaml +59 -0
- data/lib/countries/data/subdivisions/IR.yaml +33 -1
- 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-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 +3 -3
- 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 +19 -50
- 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 +5 -1
- data/lib/countries/version.rb +1 -1
- data/lib/countries.rb +0 -2
- data/spec/country_spec.rb +218 -22
- data/spec/data_spec.rb +12 -8
- data/spec/spec_helper.rb +4 -0
- data/spec/subdivision_spec.rb +8 -0
- metadata +28 -21
- data/.rubocop_todo.yml +0 -19
- data/lib/countries/kwarg_struct.rb +0 -14
- data/lib/countries/tasks/geocoding.rake +0 -106
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c899eb4d93a991dad1042faa41bd9da5d00917fbf2078fa360b76f46dac4b927
|
|
4
|
+
data.tar.gz: 619d488a304a745236d3994bd1666cfe6260caa55757b1b0c2b548c28040a11c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8e2f8f9c4e7f1498c522013f9538cf03d1ecddd58f86523dcab4c4bdbf1b859c541a21b8cfcf1648a2a854a685579cba9a2e16ac1d85f49d859c64d76e4eaa26
|
|
7
|
+
data.tar.gz: 061d4c74ebc635e7e22a1c86d841d437964c15843903180d2ae42542cb3de6ab681ea868bb9e6c57de47f7d045c9e428d0d878221bfe17869c25fe1ec5688d8d
|
data/.codeclimate.yml
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
version: "2"
|
|
2
|
+
checks:
|
|
3
|
+
argument-count:
|
|
4
|
+
enabled: true
|
|
5
|
+
config:
|
|
6
|
+
threshold: 4
|
|
7
|
+
complex-logic:
|
|
8
|
+
enabled: true
|
|
9
|
+
config:
|
|
10
|
+
threshold: 4
|
|
11
|
+
file-lines:
|
|
12
|
+
enabled: true
|
|
13
|
+
config:
|
|
14
|
+
threshold: 250
|
|
15
|
+
method-complexity:
|
|
16
|
+
enabled: true
|
|
17
|
+
config:
|
|
18
|
+
threshold: 5
|
|
19
|
+
method-count:
|
|
20
|
+
enabled: true
|
|
21
|
+
config:
|
|
22
|
+
threshold: 20
|
|
23
|
+
method-lines:
|
|
24
|
+
enabled: true
|
|
25
|
+
config:
|
|
26
|
+
threshold: 25
|
|
27
|
+
nested-control-flow:
|
|
28
|
+
enabled: true
|
|
29
|
+
config:
|
|
30
|
+
threshold: 4
|
|
31
|
+
return-statements:
|
|
32
|
+
enabled: true
|
|
33
|
+
config:
|
|
34
|
+
threshold: 4
|
|
35
|
+
plugins:
|
|
36
|
+
rubocop:
|
|
37
|
+
enabled: true
|
|
38
|
+
channel: rubocop-1-48-1
|
|
39
|
+
reek:
|
|
40
|
+
enabled: true
|
|
41
|
+
checks:
|
|
42
|
+
IrresponsibleModule:
|
|
43
|
+
enabled: false
|
|
44
|
+
TooManyStatements:
|
|
45
|
+
max_statements: 7
|
|
46
|
+
flog:
|
|
47
|
+
enabled: true
|
|
48
|
+
bundler-audit:
|
|
49
|
+
enabled: true
|
|
50
|
+
exclude_patterns:
|
|
51
|
+
- "config/"
|
|
52
|
+
- "db/"
|
|
53
|
+
- "dist/"
|
|
54
|
+
- "features/"
|
|
55
|
+
- "**/node_modules/"
|
|
56
|
+
- "script/"
|
|
57
|
+
- "**/spec/"
|
|
58
|
+
- "**/test/"
|
|
59
|
+
- "**/tests/"
|
|
60
|
+
- "**/vendor/"
|
|
61
|
+
- "**/*.d.ts"
|
data/.github/FUNDING.yml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
github: pmor
|
|
@@ -42,7 +42,7 @@ jobs:
|
|
|
42
42
|
|
|
43
43
|
# Initializes the CodeQL tools for scanning.
|
|
44
44
|
- name: Initialize CodeQL
|
|
45
|
-
uses: github/codeql-action/init@
|
|
45
|
+
uses: github/codeql-action/init@v2
|
|
46
46
|
with:
|
|
47
47
|
languages: ${{ matrix.language }}
|
|
48
48
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
@@ -53,7 +53,7 @@ jobs:
|
|
|
53
53
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
54
54
|
# If this step fails, then you should remove it and run the build manually (see below)
|
|
55
55
|
- name: Autobuild
|
|
56
|
-
uses: github/codeql-action/autobuild@
|
|
56
|
+
uses: github/codeql-action/autobuild@v2
|
|
57
57
|
|
|
58
58
|
# ℹ️ Command-line programs to run using the OS shell.
|
|
59
59
|
# 📚 https://git.io/JvXDl
|
|
@@ -67,4 +67,4 @@ jobs:
|
|
|
67
67
|
# make release
|
|
68
68
|
|
|
69
69
|
- name: Perform CodeQL Analysis
|
|
70
|
-
uses: github/codeql-action/analyze@
|
|
70
|
+
uses: github/codeql-action/analyze@v2
|
data/.github/workflows/tests.yml
CHANGED
|
@@ -4,32 +4,29 @@ on:
|
|
|
4
4
|
pull_request:
|
|
5
5
|
paths-ignore:
|
|
6
6
|
- 'README.md'
|
|
7
|
+
- 'CHANGELOG.md'
|
|
7
8
|
push:
|
|
8
9
|
paths-ignore:
|
|
9
10
|
- 'README.md'
|
|
11
|
+
- 'CHANGELOG.md'
|
|
10
12
|
|
|
11
13
|
jobs:
|
|
12
14
|
test:
|
|
13
15
|
runs-on: ubuntu-latest
|
|
14
|
-
|
|
15
16
|
strategy:
|
|
17
|
+
fail-fast: false
|
|
16
18
|
matrix:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- ruby-version: 3.0.4
|
|
21
|
-
bundler-version: default
|
|
22
|
-
- ruby-version: 3.1.2
|
|
23
|
-
bundler-version: default
|
|
19
|
+
ruby: [2.7, '3.0', 3.1, 3.2]
|
|
20
|
+
env:
|
|
21
|
+
CC_TEST_REPORTER_ID: 1670b97bb8c09d4f4bad81e559f41c7588641c67bd700c933c267bbe7dbbef7f
|
|
24
22
|
steps:
|
|
25
|
-
- uses: actions/checkout@
|
|
23
|
+
- uses: actions/checkout@v3
|
|
26
24
|
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
27
25
|
uses: ruby/setup-ruby@v1
|
|
28
26
|
with:
|
|
29
|
-
ruby-version: ${{ matrix.ruby
|
|
30
|
-
bundler: ${{ matrix.bundler-version }}
|
|
27
|
+
ruby-version: ${{ matrix.ruby }}
|
|
31
28
|
bundler-cache: true
|
|
32
|
-
- name: Install dependencies
|
|
33
|
-
run: bundle install
|
|
34
29
|
- name: Run tests
|
|
35
30
|
run: bundle exec rake
|
|
31
|
+
- name: Publish code coverage
|
|
32
|
+
uses: paambaati/codeclimate-action@v4.0.0
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,22 +1,30 @@
|
|
|
1
|
-
inherit_from: .rubocop_todo.yml
|
|
2
1
|
|
|
3
2
|
AllCops:
|
|
4
3
|
NewCops: enable
|
|
4
|
+
TargetRubyVersion: 2.7
|
|
5
5
|
|
|
6
6
|
Layout/LineLength:
|
|
7
|
+
Max: 120
|
|
8
|
+
AllowedPatterns: ['^ *# ']
|
|
7
9
|
Exclude:
|
|
8
10
|
- countries.gemspec
|
|
11
|
+
- 'spec/**/*'
|
|
12
|
+
|
|
13
|
+
Metrics/MethodLength:
|
|
14
|
+
Enabled: false
|
|
15
|
+
|
|
16
|
+
Style/Documentation:
|
|
17
|
+
Enabled: false
|
|
18
|
+
|
|
19
|
+
Bundler/OrderedGems:
|
|
20
|
+
Enabled: false
|
|
9
21
|
|
|
10
22
|
Metrics/BlockLength:
|
|
11
23
|
Exclude:
|
|
12
24
|
- 'spec/**/*'
|
|
13
25
|
- Rakefile
|
|
14
|
-
- 'spec/**/*'
|
|
15
26
|
- 'lib/countries/tasks/*'
|
|
16
27
|
|
|
17
|
-
Style/RescueModifier:
|
|
18
|
-
Enabled: false
|
|
19
|
-
|
|
20
28
|
Style/CaseEquality:
|
|
21
29
|
Exclude:
|
|
22
30
|
- 'lib/countries/country/finder_methods.rb'
|
|
@@ -33,8 +41,9 @@ Lint/AmbiguousBlockAssociation:
|
|
|
33
41
|
Exclude:
|
|
34
42
|
- 'spec/perf_spec.rb'
|
|
35
43
|
|
|
36
|
-
Metrics/MethodLength:
|
|
37
|
-
Max: 20
|
|
38
|
-
|
|
39
44
|
Metrics/ClassLength:
|
|
40
45
|
Max: 130
|
|
46
|
+
|
|
47
|
+
Metrics/AbcSize:
|
|
48
|
+
Exclude:
|
|
49
|
+
- 'lib/countries/sources/cldr/*'
|
data/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,102 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
This project adheres to [Semantic Versioning](https://semver.org/).
|
|
5
5
|
|
|
6
|
-
## [5.
|
|
6
|
+
## [5.7.0](https://github.com/countries/countries/releases/tag/v5.7.0') (2023/10/07 10:57 +00:00)
|
|
7
|
+
|
|
8
|
+
**New Feature:**
|
|
9
|
+
* Add distance_unit attribute to countries data [\#820](https://github.com/countries/countries/pull/820) ([dwtong](https://github.com/dwtong))
|
|
10
|
+
|
|
11
|
+
**Fixes:**
|
|
12
|
+
* North Macedonia LT translation [\#821](https://github.com/countries/countries/pull/821) ([tomukas](https://github.com/tomukas))
|
|
13
|
+
* Fix Azerbaijão wording in pt-BR [\#819](https://github.com/countries/countries/pull/819) ([duduribeiro](https://github.com/duduribeiro))
|
|
14
|
+
* Remove duplicate key in subdivisions/US.yaml [\#822](https://github.com/countries/countries/pull/822) ([pioz](https://github.com/pioz))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [5.6.0](https://github.com/countries/countries/releases/tag/v5.6.0') (2023/08/01 14:00 +00:00)
|
|
18
|
+
|
|
19
|
+
* Fix Taiwan's iso_long_name not matching ISO data. [\#810](https://github.com/countries/countries/pull/810) ([pmor](https://github.com/pmor))
|
|
20
|
+
* Wrap postal code format regex in anchors [\#814](https://github.com/countries/countries/pull/814) ([pmor](https://github.com/pmor))
|
|
21
|
+
|
|
22
|
+
## [5.5.0](https://github.com/countries/countries/releases/tag/v5.5.0') (2023/06/17 16:20 +00:00)
|
|
23
|
+
|
|
24
|
+
* Added G20 and G7 member fields [\#799](https://github.com/countries/countries/pull/799) ([AndromedaSugar](https://github.com/AndromedaSugar))
|
|
25
|
+
* Update subdivision translations from CLDR [\#802](https://github.com/countries/countries/pull/802) ([pmor](https://github.com/pmor))
|
|
26
|
+
* Adds Country#collect_countries_with, Country#collect_likely_subdivisions, Country.find_subdivision_with, Country.find_subdivision_code_with_translations [\#800](https://github.com/countries/countries/pull/800) ([pmor](https://github.com/pmor))
|
|
27
|
+
* Add Japanese translation to subdivisions data [\#804](https://github.com/countries/countries/pull/804) ([shucream-p](https://github.com/shucream-p))
|
|
28
|
+
* Adding gdpr_compliant method to check if a country is regulated by GDPR [\#807](https://github.com/countries/countries/pull/807) ([yeseniamolinab](https://github.com/yeseniamolinab))
|
|
29
|
+
|
|
30
|
+
## [5.4.0](https://github.com/countries/countries/releases/tag/v5.4.0') (2023/04/12 12:44 +00:00)
|
|
31
|
+
|
|
32
|
+
* fix: RUP are part of the European Union [\#794](https://github.com/countries/countries/pull/794) ([btrd](https://github.com/btrd))
|
|
33
|
+
* Fix wrong translation of MY in gn locale [\#798](https://github.com/countries/countries/pull/798) ([pmor](https://github.com/pmor))
|
|
34
|
+
* Add EU VAT Area membership [\#796](https://github.com/countries/countries/pull/796) ([pmor](https://github.com/pmor))
|
|
35
|
+
|
|
36
|
+
## [5.3.2](https://github.com/countries/countries/releases/tag/v5.3.2') (2023/03/31 13:46 +00:00)
|
|
37
|
+
|
|
38
|
+
* Add Japanese translation for Czechia, North Macedonia and Eswatini [\#795](https://github.com/countries/countries/pull/795) ([nmbakfm](https://github.com/nmbakfm))
|
|
39
|
+
|
|
40
|
+
## [5.3.1](https://github.com/countries/countries/releases/tag/v5.3.1') (2023/01/26 14:05 +00:00)
|
|
41
|
+
|
|
42
|
+
* Update countries-th.yaml [\#792](https://github.com/countries/countries/pull/792) ([worrawutp](https://github.com/worrawutp))
|
|
43
|
+
* Fix [\#765](https://github.com/countries/countries/issues/765) - Restore `Australia` as first unnoficial name for Australia ([pmor](https://github.com/pmor))
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
**Full Changelog**: https://github.com/countries/countries/compare/v5.3.0...v5.3.1
|
|
47
|
+
|
|
48
|
+
## [5.3.0](https://github.com/countries/countries/releases/tag/v5.3.0') (2023/01/03 17:02 +00:00)
|
|
49
|
+
|
|
50
|
+
**Merged pull requests:**
|
|
51
|
+
|
|
52
|
+
* Remove dead code: KwargStruct [\#787](https://github.com/countries/countries/pull/787) ([pmor](https://github.com/pmor))
|
|
53
|
+
* Update data for Turkmenistan and add Turkmen translation [\#789](https://github.com/countries/countries/pull/789) ([msuliq](https://github.com/msuliq))
|
|
54
|
+
* Add Country#subdivision_names method [\#788](https://github.com/countries/countries/pull/788) ([pmor](https://github.com/pmor))
|
|
55
|
+
|
|
56
|
+
## [5.2.1](https://github.com/countries/countries/releases/tag/v5.2.1') (2022/12/22 15:29 +00:00)
|
|
57
|
+
|
|
58
|
+
**Important changes**
|
|
59
|
+
|
|
60
|
+
* The Republic of Croatia will join the Eurozone and switch currency to `EUR` in Jan 1 2023. If you update this gem before that date and need to have correct currency codes as of 2022, I recommend using an initializer to re-register Croatia with `HRK`, which you could wrap with a check of the current date, eg:
|
|
61
|
+
|
|
62
|
+
```ruby
|
|
63
|
+
# In an initializer
|
|
64
|
+
if Date.today.year == 2022
|
|
65
|
+
new_data = ISO3166::Country['HR'].data
|
|
66
|
+
new_data.transform_keys! &:to_sym
|
|
67
|
+
new_data[:currency_code] = 'HRK'
|
|
68
|
+
ISO3166::Data.register new_data
|
|
69
|
+
end
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Merged pull requests:**
|
|
73
|
+
|
|
74
|
+
* Fix changelog to point to correct PR [\#778](https://github.com/countries/countries/pull/778) ([carlosantoniodasilva](https://github.com/carlosantoniodasilva))
|
|
75
|
+
* Document how to get country codes (alpha2) [ci skip] [\#781](https://github.com/countries/countries/pull/781) ([jean-francois-labbe](https://github.com/carlosantoniodasilva))
|
|
76
|
+
* Update Croatia's currency to EUR [\#784](https://github.com/countries/countries/pull/784) ([pmor](https://github.com/pmor))
|
|
77
|
+
* Duplicate `I18n.available_locales` into `default_locales` [\#785](https://github.com/countries/countries/pull/785) ([pmor](https://github.com/pmor))
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
## [5.2.0](https://github.com/countries/countries/releases/tag/v5.2.0') (2022/10/28 14:35 +00:00)
|
|
81
|
+
|
|
82
|
+
**Important changes**
|
|
83
|
+
|
|
84
|
+
* The Republic of Turkey has officially changed its name to `The Republic of Türkiye`, short name `Türkiye`. Official name attributes have been updated, as well as several translations. This could be a breaking change if you rely on the old name.
|
|
85
|
+
|
|
86
|
+
* The `sixarm_ruby_unaccent` gem was replaced with `unaccent`. See [\#767](https://github.com/countries/countries/pull/767)
|
|
87
|
+
|
|
88
|
+
**Merged pull requests:**
|
|
89
|
+
|
|
90
|
+
* Ensure #translated_names is compacted [\#777](https://github.com/countries/countries/pull/777) ([pmor](https://github.com/pmor))
|
|
91
|
+
* Rename turkey to Türkiye [\#771](https://github.com/countries/countries/pull/771) ([larskuhnt](https://github.com/larskuhnt))
|
|
92
|
+
* Fix Upgrade.md route on README.markdown [\#766](https://github.com/countries/countries/pull/766) ([dmartingarcia](https://github.com/dmartingarcia))
|
|
93
|
+
* Update french, missing uppercase letters [\#769](https://github.com/countries/countries/pull/769) ([JulienItard](https://github.com/JulienItard))
|
|
94
|
+
* german translations for CI and CV [\#770](https://github.com/countries/countries/pull/770) ([larskuhnt](https://github.com/larskuhnt))
|
|
95
|
+
* Fix Czechia name in LT translation [\#773](https://github.com/countries/countries/pull/773) ([tomukas](https://github.com/tomukas))
|
|
96
|
+
* Updated Taiwan unofficial names [\#772](https://github.com/countries/countries/pull/772) ([Tzenda](https://github.com/Tzenda))
|
|
97
|
+
* Replace sixarm_ruby_unaccent with unaccent [\#767](https://github.com/countries/countries/pull/767) ([jonian](https://github.com/jonian))
|
|
98
|
+
|
|
99
|
+
## [5.1.2](https://github.com/countries/countries/releases/tag/v5.1.2') (2022/08/11 14:35 +00:00)
|
|
100
|
+
|
|
101
|
+
**Merged pull requests:**
|
|
7
102
|
|
|
8
103
|
* Missing unofficial translations, addresses the remaining translations in [\#580](https://github.com/countries/countries/issues/580) - [\#764](https://github.com/countries/countries/pull/764) ([pmor](https://github.com/pmor))
|
|
9
104
|
|
|
@@ -31,7 +126,7 @@ This project adheres to [Semantic Versioning](https://semver.org/).
|
|
|
31
126
|
|
|
32
127
|
**Merged pull requests:**
|
|
33
128
|
|
|
34
|
-
* Remove i18n_data dependency [\#
|
|
129
|
+
* Remove i18n_data dependency [\#756](https://github.com/countries/countries/pull/756) ([pmor](https://github.com/pmor))
|
|
35
130
|
* Update subdivision YAML with codes [\#757](https://github.com/countries/countries/pull/757) ([pmor](https://github.com/pmor))
|
|
36
131
|
* Add subdivision types from ISO3166-2 [\#758](https://github.com/countries/countries/pull/758) ([pmor](https://github.com/pmor))
|
|
37
132
|
|
data/Gemfile
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
source 'https://rubygems.org'
|
|
4
|
-
gem 'geocoder'
|
|
5
4
|
gem 'money'
|
|
6
5
|
gem 'rake'
|
|
7
6
|
gem 'retryable'
|
|
@@ -11,6 +10,6 @@ gem 'tzinfo'
|
|
|
11
10
|
gemspec
|
|
12
11
|
|
|
13
12
|
group :development, :test do
|
|
14
|
-
gem '
|
|
13
|
+
gem 'debug'
|
|
15
14
|
gem 'yaml'
|
|
16
15
|
end
|
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
countries (5.7.0)
|
|
5
|
+
unaccent (~> 0.3)
|
|
6
|
+
|
|
7
|
+
GEM
|
|
8
|
+
remote: https://rubygems.org/
|
|
9
|
+
specs:
|
|
10
|
+
activesupport (7.1.0)
|
|
11
|
+
base64
|
|
12
|
+
bigdecimal
|
|
13
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
14
|
+
connection_pool (>= 2.2.5)
|
|
15
|
+
drb
|
|
16
|
+
i18n (>= 1.6, < 2)
|
|
17
|
+
minitest (>= 5.1)
|
|
18
|
+
mutex_m
|
|
19
|
+
tzinfo (~> 2.0)
|
|
20
|
+
base64 (0.1.1)
|
|
21
|
+
bigdecimal (3.1.4)
|
|
22
|
+
concurrent-ruby (1.2.2)
|
|
23
|
+
connection_pool (2.4.1)
|
|
24
|
+
debug (1.8.0)
|
|
25
|
+
irb (>= 1.5.0)
|
|
26
|
+
reline (>= 0.3.1)
|
|
27
|
+
diff-lcs (1.5.0)
|
|
28
|
+
docile (1.4.0)
|
|
29
|
+
drb (2.1.1)
|
|
30
|
+
ruby2_keywords
|
|
31
|
+
i18n (1.14.1)
|
|
32
|
+
concurrent-ruby (~> 1.0)
|
|
33
|
+
io-console (0.6.0)
|
|
34
|
+
irb (1.8.1)
|
|
35
|
+
rdoc
|
|
36
|
+
reline (>= 0.3.8)
|
|
37
|
+
minitest (5.20.0)
|
|
38
|
+
money (6.16.0)
|
|
39
|
+
i18n (>= 0.6.4, <= 2)
|
|
40
|
+
mutex_m (0.1.2)
|
|
41
|
+
nokogiri (1.15.4-arm64-darwin)
|
|
42
|
+
racc (~> 1.4)
|
|
43
|
+
nokogiri (1.15.4-x86_64-darwin)
|
|
44
|
+
racc (~> 1.4)
|
|
45
|
+
nokogiri (1.15.4-x86_64-linux)
|
|
46
|
+
racc (~> 1.4)
|
|
47
|
+
psych (5.1.0)
|
|
48
|
+
stringio
|
|
49
|
+
racc (1.7.1)
|
|
50
|
+
rake (13.0.6)
|
|
51
|
+
rdoc (6.5.0)
|
|
52
|
+
psych (>= 4.0.0)
|
|
53
|
+
reline (0.3.9)
|
|
54
|
+
io-console (~> 0.5)
|
|
55
|
+
retryable (3.0.5)
|
|
56
|
+
rspec (3.12.0)
|
|
57
|
+
rspec-core (~> 3.12.0)
|
|
58
|
+
rspec-expectations (~> 3.12.0)
|
|
59
|
+
rspec-mocks (~> 3.12.0)
|
|
60
|
+
rspec-core (3.12.2)
|
|
61
|
+
rspec-support (~> 3.12.0)
|
|
62
|
+
rspec-expectations (3.12.3)
|
|
63
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
64
|
+
rspec-support (~> 3.12.0)
|
|
65
|
+
rspec-mocks (3.12.6)
|
|
66
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
67
|
+
rspec-support (~> 3.12.0)
|
|
68
|
+
rspec-support (3.12.1)
|
|
69
|
+
ruby2_keywords (0.0.5)
|
|
70
|
+
simplecov (0.22.0)
|
|
71
|
+
docile (~> 1.1)
|
|
72
|
+
simplecov-html (~> 0.11)
|
|
73
|
+
simplecov_json_formatter (~> 0.1)
|
|
74
|
+
simplecov-html (0.12.3)
|
|
75
|
+
simplecov_json_formatter (0.1.4)
|
|
76
|
+
stringio (3.0.8)
|
|
77
|
+
tzinfo (2.0.6)
|
|
78
|
+
concurrent-ruby (~> 1.0)
|
|
79
|
+
unaccent (0.4.0)
|
|
80
|
+
yaml (0.2.1)
|
|
81
|
+
|
|
82
|
+
PLATFORMS
|
|
83
|
+
arm64-darwin-22
|
|
84
|
+
x86_64-darwin-21
|
|
85
|
+
x86_64-darwin-22
|
|
86
|
+
x86_64-linux
|
|
87
|
+
|
|
88
|
+
DEPENDENCIES
|
|
89
|
+
activesupport (>= 3)
|
|
90
|
+
countries!
|
|
91
|
+
debug
|
|
92
|
+
money
|
|
93
|
+
nokogiri (>= 1.8)
|
|
94
|
+
rake
|
|
95
|
+
retryable
|
|
96
|
+
rspec (>= 3)
|
|
97
|
+
simplecov (~> 0.22)
|
|
98
|
+
tzinfo
|
|
99
|
+
yaml
|
|
100
|
+
|
|
101
|
+
BUNDLED WITH
|
|
102
|
+
2.4.12
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Countries
|
|
2
2
|
|
|
3
|
-
Countries is a collection of all sorts of useful information for every country in the ISO 3166 standard. It contains info for the following standards ISO3166-1 (countries), ISO3166-2 (states/subdivisions), ISO4217 (currency) and E.164 (phone numbers).
|
|
3
|
+
Countries is a collection of all sorts of useful information for every country in the ISO 3166 standard. It contains info for the following standards ISO3166-1 (countries), ISO3166-2 (states/subdivisions), ISO4217 (currency) and E.164 (phone numbers).
|
|
4
|
+
|
|
5
|
+
The data used in this gem is also available as git submodules in [YAML](https://github.com/countries/countries-data-yaml) and [JSON](https://github.com/countries/countries-data-json) files.
|
|
4
6
|
|
|
5
7
|
[](https://badge.fury.io/rb/countries) [](https://github.com/countries/countries/actions/workflows/tests.yml) [](https://codeclimate.com/github/countries/countries)
|
|
6
8
|
[](https://github.com/countries/countries/actions/workflows/codeql-analysis.yml)
|
|
@@ -26,6 +28,13 @@ Simply load a new country object using Country.new(*alpha2*) or the shortcut Cou
|
|
|
26
28
|
c = ISO3166::Country.new('US')
|
|
27
29
|
```
|
|
28
30
|
|
|
31
|
+
Get all country codes (*alpha2*).
|
|
32
|
+
|
|
33
|
+
```ruby
|
|
34
|
+
ISO3166::Country.codes
|
|
35
|
+
# ["TJ", "JM", "HT",...]
|
|
36
|
+
```
|
|
37
|
+
|
|
29
38
|
## Configuration
|
|
30
39
|
|
|
31
40
|
### Country Helper
|
|
@@ -69,7 +78,7 @@ c = ISO3166::Country.find_country_by_alpha2("FR")
|
|
|
69
78
|
For a list of available attributes please see `ISO3166::DEFAULT_COUNTRY_HASH`.
|
|
70
79
|
Note: searches are *case insensitive and ignore accents*.
|
|
71
80
|
|
|
72
|
-
_Please note that `find_by_name`, `find_by_names`, `find_*_by_name` and `find_*_by_names` methods were removed in 5.0. See [UPGRADE.md](../
|
|
81
|
+
_Please note that `find_by_name`, `find_by_names`, `find_*_by_name` and `find_*_by_names` methods were removed in 5.0. See [UPGRADE.md](../master/UPGRADE.md) for more information_
|
|
73
82
|
|
|
74
83
|
## Country Info
|
|
75
84
|
|
|
@@ -123,6 +132,18 @@ c.states # => {"CO" => {"name" => "Colorado", "names" => "Colorado"}, ... }
|
|
|
123
132
|
|
|
124
133
|
# Get specific translations for the country subdivisions
|
|
125
134
|
c.subdivision_names_with_codes('es') #=> [ ..., ["Nuevo Hampshire", "NH"], ["Nueva Jersey", "NJ"], ... ]
|
|
135
|
+
|
|
136
|
+
# Subdivision code with translations for all loaded locales
|
|
137
|
+
c.subdivisions['NY'].code_with_translations #=> {"NY"=>{"en"=>"New York"}, ...}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
`#find_subdivision_by_name` Find a country's state using its code or name in any translation
|
|
141
|
+
|
|
142
|
+
```ruby
|
|
143
|
+
> ISO3166::Country.new("IT").find_subdivision_by_name("Toscana").geo
|
|
144
|
+
=> {"latitude"=>43.771389, "longitude"=>11.254167, ... }
|
|
145
|
+
> ISO3166::Country.new("IT").find_subdivision_by_name("Tuscany").geo
|
|
146
|
+
=> {"latitude"=>43.771389, "longitude"=>11.254167, ... }
|
|
126
147
|
```
|
|
127
148
|
|
|
128
149
|
### Location
|
|
@@ -191,19 +212,59 @@ c.in_eea? # => false
|
|
|
191
212
|
c.in_esm? # => false
|
|
192
213
|
```
|
|
193
214
|
|
|
194
|
-
|
|
215
|
+
### EU VAT Area membership
|
|
216
|
+
|
|
217
|
+
```ruby
|
|
218
|
+
c.in_eu_vat? # => false
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### GDPR Compliant (European Economic Area Membership or UK)
|
|
222
|
+
|
|
223
|
+
```ruby
|
|
224
|
+
c.gdpr_compliant? # => false
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### Country Code in Emoji
|
|
195
228
|
|
|
196
229
|
```ruby
|
|
197
230
|
c = Country['MY']
|
|
198
231
|
c.emoji_flag # => "🇲🇾"
|
|
199
232
|
```
|
|
200
233
|
|
|
234
|
+
### Country Distance Unit (miles/kilometres)
|
|
235
|
+
|
|
236
|
+
```ruby
|
|
237
|
+
c.distance_unit # => "MI"
|
|
238
|
+
```
|
|
239
|
+
|
|
201
240
|
### Plucking multiple attributes
|
|
202
241
|
|
|
203
242
|
```ruby
|
|
204
243
|
ISO3166::Country.pluck(:alpha2, :iso_short_name) # => [["AD", "Andorra"], ["AE", "United Arab Emirates"], ...
|
|
205
244
|
```
|
|
206
245
|
|
|
246
|
+
`.collect_countries_with` allows to collect various countries' informations using any valid method and query value:
|
|
247
|
+
```ruby
|
|
248
|
+
> ISO3166::Country.collect_countries_with("VR",:subdivisions,:common_name)
|
|
249
|
+
=> ["Italy", "Monaco"]
|
|
250
|
+
> ISO3166::Country.collect_countries_with("Caribbean",:subregion,:languages_spoken).flatten.uniq
|
|
251
|
+
=> ["en", "fr", "es", "ht", "nl"]
|
|
252
|
+
> ISO3166::Country.collect_countries_with("Oceania",:region,:international_prefix).uniq
|
|
253
|
+
=> ["00", "011", "0011", "19", "05"]
|
|
254
|
+
> ISO3166::Country.collect_countries_with("Antarctica",:continent,:emoji_flag)
|
|
255
|
+
=> ["🇦🇶", "🇬🇸", "🇧🇻", "🇹🇫", "🇭🇲"]
|
|
256
|
+
> ISO3166::Country.collect_countries_with("🇸🇨",:emoji_flag,:common_name)
|
|
257
|
+
=> ["Seychelles"]
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
`.collect_likely_countries_by_subdivision_name` allows to lookup all countries having the given state code or state name (in any translation)
|
|
261
|
+
|
|
262
|
+
```ruby
|
|
263
|
+
ISO3166::Country.collect_likely_countries_by_subdivision_name("San José",:common_name)
|
|
264
|
+
=> ["Costa Rica", "Uruguay"]
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
|
|
207
268
|
## Currencies
|
|
208
269
|
|
|
209
270
|
To enable currencies extension please add the following to countries initializer.
|
|
@@ -328,17 +389,11 @@ end
|
|
|
328
389
|
|
|
329
390
|
**Please do not submit pull requests on `cache/**/*`**. These files generated by a rake task when preparing new releases and are not meant to be manually updated.
|
|
330
391
|
|
|
331
|
-
If you with to submit a PR to correct
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
future version unintentionally.
|
|
337
|
-
* Commit, do not mess with rakefile, version, or history.
|
|
338
|
-
(if you want to have your own version, that is fine but
|
|
339
|
-
bump version in a commit by itself I can ignore when I pull)
|
|
340
|
-
* Make sure your you haven't made changes to `cache/**/*`
|
|
341
|
-
* Submit a pull request. Bonus points for topic branches.
|
|
392
|
+
If you with to submit a PR to update or correct country data, please edit the corresponding YAML file `lib/countries/data/**`. Changes to the YAML files will be injected during the next `rake update_cache`.
|
|
393
|
+
|
|
394
|
+
This project seeks to follow ISO3166, ISO4217 and E.164 standards in its data.
|
|
395
|
+
|
|
396
|
+
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
|
342
397
|
|
|
343
398
|
## Copyright
|
|
344
399
|
|
data/Rakefile
CHANGED
|
@@ -6,12 +6,10 @@ require 'bundler/gem_tasks'
|
|
|
6
6
|
require 'rake'
|
|
7
7
|
require 'rspec/core/rake_task'
|
|
8
8
|
require 'yaml'
|
|
9
|
+
require 'json'
|
|
9
10
|
|
|
10
11
|
ISO3166_ROOT_PATH = File.dirname(__FILE__)
|
|
11
12
|
|
|
12
|
-
# Enter your API Key enabled for Geocoding API and Places API
|
|
13
|
-
GOOGLE_API_KEY = 'ENTER API KEY'
|
|
14
|
-
|
|
15
13
|
Dir.glob('lib/countries/tasks/*.rake').each { |r| load r }
|
|
16
14
|
|
|
17
15
|
desc 'Run all examples'
|
|
@@ -56,6 +54,7 @@ task :cleanup_subdivision_yaml do
|
|
|
56
54
|
sd = Sources::Local::Subdivision.new(c_code)
|
|
57
55
|
data = sd.load
|
|
58
56
|
next if data.nil? || data == {}
|
|
57
|
+
|
|
59
58
|
data = data.sort.to_h
|
|
60
59
|
data['translations'] = data['translations'].sort.to_h unless data['translations'].nil?
|
|
61
60
|
sd.save(data)
|
data/countries.gemspec
CHANGED
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
require File.expand_path('lib/countries/version', __dir__)
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |gem|
|
|
6
|
+
gem.name = 'countries'
|
|
7
|
+
gem.version = Countries::VERSION.dup
|
|
8
|
+
gem.licenses = ['MIT']
|
|
6
9
|
gem.authors = ['Josh Robinson', 'Joe Corcoran', 'Russell Osborne', 'Pedro Moreira']
|
|
7
10
|
gem.email = ['hexorx@gmail.com', 'russell@burningpony.com', 'pedro@codecreations.tech']
|
|
8
11
|
gem.description = 'All sorts of useful information about every country packaged as pretty little country objects. It includes data from ISO 3166'
|
|
9
12
|
gem.summary = 'Gives you a country object full of all sorts of useful information.'
|
|
10
13
|
gem.homepage = 'https://github.com/countries/countries'
|
|
14
|
+
|
|
11
15
|
gem.metadata = { 'bug_tracker_uri' => 'https://github.com/countries/countries/issues',
|
|
12
16
|
'changelog_uri' => 'https://github.com/countries/countries/blob/master/CHANGELOG.md',
|
|
13
17
|
'source_code_uri' => 'https://github.com/countries/countries',
|
|
@@ -15,16 +19,13 @@ Gem::Specification.new do |gem|
|
|
|
15
19
|
'rubygems_mfa_required' => 'true' }
|
|
16
20
|
|
|
17
21
|
gem.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
|
|
18
|
-
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
19
|
-
gem.name = 'countries'
|
|
20
22
|
gem.require_paths = ['lib']
|
|
21
|
-
gem.version = Countries::VERSION.dup
|
|
22
|
-
gem.license = 'MIT'
|
|
23
23
|
|
|
24
24
|
gem.required_ruby_version = '>= 2.7'
|
|
25
25
|
|
|
26
|
-
gem.add_dependency('
|
|
26
|
+
gem.add_dependency('unaccent', '~> 0.3')
|
|
27
27
|
gem.add_development_dependency('activesupport', '>= 3')
|
|
28
28
|
gem.add_development_dependency('nokogiri', '>= 1.8')
|
|
29
29
|
gem.add_development_dependency('rspec', '>= 3')
|
|
30
|
+
gem.add_development_dependency('simplecov', '~> 0.22')
|
|
30
31
|
end
|