countries 5.4.0 → 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/workflows/codeql-analysis.yml +3 -3
- data/.github/workflows/tests.yml +4 -0
- data/.gitignore +0 -1
- data/.rubocop.yml +17 -8
- data/CHANGELOG.md +24 -0
- data/Gemfile +1 -2
- data/Gemfile.lock +102 -0
- data/README.md +47 -1
- data/Rakefile +2 -3
- data/countries.gemspec +1 -1
- data/lib/countries/cache/countries.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/country/class_methods.rb +22 -3
- 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 +21 -56
- 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 +2 -0
- data/lib/countries/data/countries/AW.yaml +1 -0
- data/lib/countries/data/countries/AX.yaml +1 -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 +1 -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 +1 -0
- 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 +1 -0
- 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 +1 -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 +1 -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 +1 -0
- 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 +1 -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 +1 -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 +1 -0
- 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 +2 -0
- 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 +2 -1
- 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 +1 -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 +18 -0
- data/lib/countries/data/subdivisions/AF.yaml +167 -2
- data/lib/countries/data/subdivisions/AG.yaml +9 -0
- data/lib/countries/data/subdivisions/AL.yaml +57 -0
- data/lib/countries/data/subdivisions/AM.yaml +34 -0
- data/lib/countries/data/subdivisions/AO.yaml +36 -0
- data/lib/countries/data/subdivisions/AR.yaml +46 -0
- data/lib/countries/data/subdivisions/AT.yaml +28 -0
- data/lib/countries/data/subdivisions/AU.yaml +29 -0
- data/lib/countries/data/subdivisions/AZ.yaml +239 -0
- data/lib/countries/data/subdivisions/BA.yaml +5 -0
- data/lib/countries/data/subdivisions/BB.yaml +4 -0
- data/lib/countries/data/subdivisions/BD.yaml +139 -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 +2 -0
- 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 +113 -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 +21 -0
- 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 +15 -0
- data/lib/countries/data/subdivisions/TL.yaml +38 -0
- data/lib/countries/data/subdivisions/TM.yaml +15 -0
- 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 +86 -4
- 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 +118 -1
- data/lib/countries/data/subdivisions/UY.yaml +27 -0
- data/lib/countries/data/subdivisions/UZ.yaml +65 -0
- 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-lt.yaml +1 -1
- data/lib/countries/data/translations/countries-pt_BR.yaml +1 -1
- data/lib/countries/data.rb +19 -50
- data/lib/countries/global.rb +0 -1
- data/lib/countries/iso3166.rb +3 -0
- 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/spec/country_spec.rb +123 -22
- data/spec/data_spec.rb +12 -8
- data/spec/spec_helper.rb +4 -0
- data/spec/subdivision_spec.rb +8 -0
- metadata +23 -16
- data/.rubocop_todo.yml +0 -19
- data/lib/countries/tasks/geocoding.rake +0 -106
|
@@ -1 +1 @@
|
|
|
1
|
-
{"AD":"Andora","AE":"Jungtiniai Arabų Emyratai","AF":"Afganistanas","AG":"Antigva ir Barbuda","AI":"Angilija","AL":"Albanija","AM":"Armėnija","AO":"Angola","AQ":"Antarktida","AR":"Argentina","AS":"Amerikos Samoa","AT":"Austrija","AU":"Australija","AW":"Aruba","AX":"Alandai","AZ":"Azerbaidžanas","BA":"Bosnija ir Hercegovina","BB":"Barbadosas","BD":"Bangladešas","BE":"Belgija","BF":"Burkina Fasas","BG":"Bulgarija","BH":"Bahreinas","BI":"Burundis","BJ":"Beninas","BL":"San Bartelemis","BM":"Bermuda","BN":"Brunėjaus Darusalamas","BO":"Bolivija","BQ":"Bonairė, Sint Eustatijus ir Saba","BR":"Brazilija","BS":"Bahamos","BT":"Butanas","BV":"Buvė sala","BW":"Botsvana","BY":"Baltarusija","BZ":"Belizas","CA":"Kanada","CC":"Kokosų (Kilingo) salos","CD":"Kongo Demokratinė Respublika","CF":"Centrinės Afrikos Respublika","CG":"Kongas","CH":"Šveicarija","CI":"Dramblio Kaulo Krantas","CK":"Kuko salos","CL":"Čilė","CM":"Kamerūnas","CN":"Kinija","CO":"Kolumbija","CR":"Kosta Rika","CU":"Kuba","CV":"Cabo Verde","CW":"Kiurasao","CX":"Kalėdų sala","CY":"Kipras","CZ":"Čekija","DE":"Vokietija","DJ":"Džibutis","DK":"Danija","DM":"Dominika","DO":"Dominikos Respublika","DZ":"Alžyras","EC":"Ekvadoras","EE":"Estija","EG":"Egiptas","EH":"Vakarų Sachara","ER":"Eritrėja","ES":"Ispanija","ET":"Etiopija","FI":"Suomija","FJ":"Fidžis","FK":"Folklando (Malvinų) salos","FM":"Mikronezijos Federacinės Valstijos","FO":"Farerų salos","FR":"Prancūzija","GA":"Gabonas","GB":"Jungtinė Karalystė","GD":"Grenada","GE":"Gruzija","GF":"Prancūzijos Gviana","GG":"Gernsis","GH":"Gana","GI":"Gibraltaras","GL":"Grenlandija","GM":"Gambija","GN":"Gvinėja","GP":"Gvadelupa","GQ":"Pusiaujo Gvinėja","GR":"Graikija","GS":"Pietų Džordžijos ir Pietų Sandvičo salos","GT":"Gvatemala","GU":"Guamas","GW":"Bisau Gvinėja","GY":"Gajana","HK":"Honkongas","HM":"Herdo ir Makdonaldo salos","HN":"Hondūras","HR":"Kroatija","HT":"Haitis","HU":"Vengrija","ID":"Indonezija","IE":"Airija","IL":"Izraelis","IM":"Meno sala","IN":"Indija","IO":"Indijos Vandenyno Britų sritis","IQ":"Irakas","IR":"Irano Islamo Respublika","IS":"Islandija","IT":"Italija","JE":"Džersis","JM":"Jamaika","JO":"Jordanija","JP":"Japonija","KE":"Kenija","KG":"Kirgizija","KH":"Kambodža","KI":"Kiribatis","KM":"Komorai","KN":"Sent Kitsas ir Nevis","KP":"Korėjos Liaudies Demokratinė Respublika","KR":"Korėjos Respublika","KW":"Kuveitas","KY":"Kaimanų salos","KZ":"Kazachstanas","LA":"Laoso Liaudies Demokratinė Respublika","LB":"Libanas","LC":"Sent Lusija","LI":"Lichtenšteinas","LK":"Šri Lanka","LR":"Liberija","LS":"Lesotas","LT":"Lietuva","LU":"Liuksemburgas","LV":"Latvija","LY":"Libija","MA":"Marokas","MC":"Monakas","MD":"Moldova","ME":"Juodkalnija","MF":"San Martenas (Prancūzijos dalis)","MG":"Madagaskaras","MH":"Maršalo salos","MK":"
|
|
1
|
+
{"AD":"Andora","AE":"Jungtiniai Arabų Emyratai","AF":"Afganistanas","AG":"Antigva ir Barbuda","AI":"Angilija","AL":"Albanija","AM":"Armėnija","AO":"Angola","AQ":"Antarktida","AR":"Argentina","AS":"Amerikos Samoa","AT":"Austrija","AU":"Australija","AW":"Aruba","AX":"Alandai","AZ":"Azerbaidžanas","BA":"Bosnija ir Hercegovina","BB":"Barbadosas","BD":"Bangladešas","BE":"Belgija","BF":"Burkina Fasas","BG":"Bulgarija","BH":"Bahreinas","BI":"Burundis","BJ":"Beninas","BL":"San Bartelemis","BM":"Bermuda","BN":"Brunėjaus Darusalamas","BO":"Bolivija","BQ":"Bonairė, Sint Eustatijus ir Saba","BR":"Brazilija","BS":"Bahamos","BT":"Butanas","BV":"Buvė sala","BW":"Botsvana","BY":"Baltarusija","BZ":"Belizas","CA":"Kanada","CC":"Kokosų (Kilingo) salos","CD":"Kongo Demokratinė Respublika","CF":"Centrinės Afrikos Respublika","CG":"Kongas","CH":"Šveicarija","CI":"Dramblio Kaulo Krantas","CK":"Kuko salos","CL":"Čilė","CM":"Kamerūnas","CN":"Kinija","CO":"Kolumbija","CR":"Kosta Rika","CU":"Kuba","CV":"Cabo Verde","CW":"Kiurasao","CX":"Kalėdų sala","CY":"Kipras","CZ":"Čekija","DE":"Vokietija","DJ":"Džibutis","DK":"Danija","DM":"Dominika","DO":"Dominikos Respublika","DZ":"Alžyras","EC":"Ekvadoras","EE":"Estija","EG":"Egiptas","EH":"Vakarų Sachara","ER":"Eritrėja","ES":"Ispanija","ET":"Etiopija","FI":"Suomija","FJ":"Fidžis","FK":"Folklando (Malvinų) salos","FM":"Mikronezijos Federacinės Valstijos","FO":"Farerų salos","FR":"Prancūzija","GA":"Gabonas","GB":"Jungtinė Karalystė","GD":"Grenada","GE":"Gruzija","GF":"Prancūzijos Gviana","GG":"Gernsis","GH":"Gana","GI":"Gibraltaras","GL":"Grenlandija","GM":"Gambija","GN":"Gvinėja","GP":"Gvadelupa","GQ":"Pusiaujo Gvinėja","GR":"Graikija","GS":"Pietų Džordžijos ir Pietų Sandvičo salos","GT":"Gvatemala","GU":"Guamas","GW":"Bisau Gvinėja","GY":"Gajana","HK":"Honkongas","HM":"Herdo ir Makdonaldo salos","HN":"Hondūras","HR":"Kroatija","HT":"Haitis","HU":"Vengrija","ID":"Indonezija","IE":"Airija","IL":"Izraelis","IM":"Meno sala","IN":"Indija","IO":"Indijos Vandenyno Britų sritis","IQ":"Irakas","IR":"Irano Islamo Respublika","IS":"Islandija","IT":"Italija","JE":"Džersis","JM":"Jamaika","JO":"Jordanija","JP":"Japonija","KE":"Kenija","KG":"Kirgizija","KH":"Kambodža","KI":"Kiribatis","KM":"Komorai","KN":"Sent Kitsas ir Nevis","KP":"Korėjos Liaudies Demokratinė Respublika","KR":"Korėjos Respublika","KW":"Kuveitas","KY":"Kaimanų salos","KZ":"Kazachstanas","LA":"Laoso Liaudies Demokratinė Respublika","LB":"Libanas","LC":"Sent Lusija","LI":"Lichtenšteinas","LK":"Šri Lanka","LR":"Liberija","LS":"Lesotas","LT":"Lietuva","LU":"Liuksemburgas","LV":"Latvija","LY":"Libija","MA":"Marokas","MC":"Monakas","MD":"Moldova","ME":"Juodkalnija","MF":"San Martenas (Prancūzijos dalis)","MG":"Madagaskaras","MH":"Maršalo salos","MK":"Šiaurės Makedonija","ML":"Malis","MM":"Mianmaras","MN":"Mongolija","MO":"Makao","MP":"Marianos šiaurinės salos","MQ":"Martinika","MR":"Mauritanija","MS":"Montseratas","MT":"Malta","MU":"Mauricijus","MV":"Maldyvai","MW":"Malavis","MX":"Meksika","MY":"Malaizija","MZ":"Mozambikas","NA":"Namibija","NC":"Naujoji Kaledonija","NE":"Nigeris","NF":"Norfolko sala","NG":"Nigerija","NI":"Nikaragva","NL":"Nyderlandai","NO":"Norvegija","NP":"Nepalas","NR":"Nauru","NU":"Niujė","NZ":"Naujoji Zelandija","OM":"Omanas","PA":"Panama","PE":"Peru","PF":"Prancūzijos Polinezija","PG":"Papua Naujoji Gvinėja","PH":"Filipinai","PK":"Pakistanas","PL":"Lenkija","PM":"Sen Pjeras ir Mikelonas","PN":"Pitkernas","PR":"Puerto Rikas","PS":"Palestinos valstybė","PT":"Portugalija","PW":"Palau","PY":"Paragvajus","QA":"Kataras","RE":"Reunjonas","RO":"Rumunija","RS":"Serbija","RU":"Rusijos Federacija","RW":"Ruanda","SA":"Saudo Arabija","SB":"Saliamono salos","SC":"Seišeliai","SD":"Sudanas","SE":"Švedija","SG":"Singapūras","SH":"Šv. Elenos, Dangun Žengimo ir Tristano da Kunjos salos","SI":"Slovėnija","SJ":"Svalbardas ir Jan Majenas","SK":"Slovakija","SL":"Siera Leonė","SM":"San Marinas","SN":"Senegalas","SO":"Somalis","SR":"Surinamas","SS":"Pietų Sudanas","ST":"San Tomė ir Prinsipė","SV":"Salvadoras","SX":"Sin Martenas (Nyderalandų dalis)","SY":"Sirijos Arabų Respublika","SZ":"Eswatini","TC":"Terkso ir Kaikoso salos","TD":"Čadas","TF":"Prancūzijos Pietų Sritys","TG":"Togas","TH":"Tailandas","TJ":"Tadžikistanas","TK":"Tokelau","TL":"Rytų Timoras","TM":"Turkmėnistanas","TN":"Tunisas","TO":"Tonga","TR":"Turkija","TT":"Trinidadas ir Tobagas","TV":"Tuvalu","TW":"Taivanas","TZ":"Tanzanijos Jungtinė Respublika","UA":"Ukraina","UG":"Uganda","UM":"Jungtinių Amerikos Valstijų mažosios aplinkinės salos","US":"Jungtinės Amerikos Valstijos","UY":"Urugvajus","UZ":"Uzbekija","VA":"Šventasis Sostas (Vatikano Miesto Valstybė)","VC":"Sent Vinsentas ir Grenadinai","VE":"Venesuela","VG":"Mergelių salos (Britų)","VI":"Mergelių salos (JAV)","VN":"Vietnamas","VU":"Vanuatu","WF":"Volisas ir Futūna","WS":"Samoa","YE":"Jemenas","YT":"Majotas","ZA":"Pietų Afrika","ZM":"Zambija","ZW":"Zimbabvė"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"AD":"Andorra","AE":"Emirados Árabes Unidos","AF":"Afeganistão","AG":"Antígua e Barbuda","AI":"Anguila","AL":"Albânia","AM":"Armênia","AO":"Angola","AQ":"Antártida","AR":"Argentina","AS":"Samoa Americana","AT":"Áustria","AU":"Austrália","AW":"Aruba","AX":"Ilhas Åland","AZ":"
|
|
1
|
+
{"AD":"Andorra","AE":"Emirados Árabes Unidos","AF":"Afeganistão","AG":"Antígua e Barbuda","AI":"Anguila","AL":"Albânia","AM":"Armênia","AO":"Angola","AQ":"Antártida","AR":"Argentina","AS":"Samoa Americana","AT":"Áustria","AU":"Austrália","AW":"Aruba","AX":"Ilhas Åland","AZ":"Azerbaijão","BA":"Bósnia-Herzegóvina","BB":"Barbados","BD":"Bangladesh","BE":"Bélgica","BF":"Burquina","BG":"Bulgária","BH":"Barein","BI":"Burundi","BJ":"Benin","BL":"São Bartolomeu","BM":"Bermuda","BN":"Brunei","BO":"Bolívia","BQ":"Bonaire, Saba e Santo Eustáquio","BR":"Brasil","BS":"Bahamas","BT":"Butão","BV":"Ilha Bouvet","BW":"Botsuana","BY":"Bielo-Rússia","BZ":"Belize","CA":"Canadá","CC":"Ilhas Cocos","CD":"República Democrática do Congo","CF":"República Centro-Africana","CG":"Congo","CH":"Suíça","CI":"Costa do Marfim","CK":"Ilhas Cook","CL":"Chile","CM":"Camarões","CN":"China","CO":"Colômbia","CR":"Costa Rica","CU":"Cuba","CV":"Cabo Verde","CW":"Curaçao","CX":"Ilha Christmas","CY":"Chipre","CZ":"Chéquia","DE":"Alemanha","DJ":"Djibuti","DK":"Dinamarca","DM":"Domínica","DO":"República Dominicana","DZ":"Argélia","EC":"Equador","EE":"Estônia","EG":"Egito","EH":"Saara Ocidental","ER":"Eritréia","ES":"Espanha","ET":"Etiópia","FI":"Finlândia","FJ":"Fiji","FK":"Ilhas Malvinas (Falkland)","FM":"Estados Federados da Micronésia","FO":"Ilhas Faroe","FR":"França","GA":"Gabão","GB":"Reino Unido","GD":"Granada","GE":"Geórgia","GF":"Guiana Francesa","GG":"Guernsey","GH":"Gana","GI":"Gibraltar","GL":"Groenlândia","GM":"Gâmbia","GN":"Guiné","GP":"Guadalupe","GQ":"Guiné Equatorial","GR":"Grécia","GS":"Geórgia do Sul e Ilhas Sandwich do Sul","GT":"Guatemala","GU":"Guam","GW":"Guiné-Bissau","GY":"Guiana","HK":"Hong Kong","HM":"Ilha Heard e Ilhas McDonald","HN":"Honduras","HR":"Croácia","HT":"Haiti","HU":"Hungria","ID":"Indonésia","IE":"Irlanda","IL":"Israel","IM":"Ilha de Man","IN":"Índia","IO":"Território Britânico do Oceano Índico","IQ":"Iraque","IR":"Irã","IS":"Islândia","IT":"Itália","JE":"Jersey","JM":"Jamaica","JO":"Jordânia","JP":"Japão","KE":"Quênia","KG":"Quirguistão","KH":"Camboja","KI":"Kiribati","KM":"Comores","KN":"São Cristóvão e Névis","KP":"Coreia do Norte","KR":"Coreia do Sul","KW":"Kuwait","KY":"Ilhas Cayman","KZ":"Cazaquistão","LA":"República Popular Democrática do Laos","LB":"Líbano","LC":"Santa Lúcia","LI":"Liechtenstein","LK":"Sri Lanka","LR":"Libéria","LS":"Lesoto","LT":"Lituânia","LU":"Luxemburgo","LV":"Letônia","LY":"Líbia","MA":"Marrocos","MC":"Mônaco","MD":"Moldávia","ME":"Montenegro","MF":"São Martim (parte francesa)","MG":"Madagascar","MH":"Ilhas Marshall","MK":"Macedônia do Norte","ML":"Mali","MM":"Myanmar","MN":"Mongólia","MO":"Macau","MP":"Ilhas Marianas do Norte","MQ":"Martinica","MR":"Mauritânia","MS":"Montserrat","MT":"Malta","MU":"Maurício","MV":"Maldivas","MW":"Malaui","MX":"México","MY":"Malásia","MZ":"Moçambique","NA":"Namíbia","NC":"Nova Caledônia","NE":"Níger","NF":"Ilha Norfolk","NG":"Nigéria","NI":"Nicarágua","NL":"Países Baixos","NO":"Noruega","NP":"Nepal","NR":"Nauru","NU":"Niue","NZ":"Nova Zelândia","OM":"Omã","PA":"Panamá","PE":"Peru","PF":"Polinésia Francesa","PG":"Papua-Nova Guiné","PH":"Filipinas","PK":"Paquistão","PL":"Polônia","PM":"São Pedro e Miquelon","PN":"Pitcairn","PR":"Porto Rico","PS":"Palestina, Estado da","PT":"Portugal","PW":"Palau","PY":"Paraguai","QA":"Catar","RE":"Reunião","RO":"Romênia","RS":"Sérvia","RU":"Federação Russa","RW":"Ruanda","SA":"Arábia Saudita","SB":"Ilhas Salomão","SC":"Seychelles","SD":"Sudão","SE":"Suécia","SG":"Cingapura","SH":"Santa Helena, Ascensão e Tristão da Cunha","SI":"Eslovênia","SJ":"Svalbard e a Ilha de Jan Mayen","SK":"Eslováquia","SL":"Serra Leoa","SM":"São Marino","SN":"Senegal","SO":"Somália","SR":"Suriname","SS":"Sudão do Sul","ST":"São Tomé e Príncipe","SV":"El Salvador","SX":"São Martim (parte holandesa)","SY":"República Árabe da Síria","SZ":"Suazilândia","TC":"Ilhas Turks e Caicos","TD":"Chade","TF":"Territórios Franceses do Sul","TG":"Togo","TH":"Tailândia","TJ":"Tadjiquistão","TK":"Toquelau","TL":"Timor Leste","TM":"Turcomenistão","TN":"Tunísia","TO":"Tonga","TR":"Turquia","TT":"Trinidade e Tobago","TV":"Tuvalu","TW":"Taiwan","TZ":"Tanzânia","UA":"Ucrânia","UG":"Uganda","UM":"Ilhas Menores Distantes dos Estados Unidos","US":"Estados Unidos","UY":"Uruguai","UZ":"Uzbequistão","VA":"Santa Sé (Cidade-Estado do Vaticano)","VC":"São Vicente e Granadinas","VE":"Venezuela","VG":"Ilhas Virgens Britânicas","VI":"Ilhas Virgens dos Estados Unidos","VN":"Vietnã","VU":"Vanuatu","WF":"Wallis e Futuna","WS":"Samoa","YE":"Iêmen","YT":"Maiote","ZA":"África do Sul","ZM":"Zâmbia","ZW":"Zimbábue"}
|
|
@@ -40,9 +40,7 @@ module ISO3166
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def pluck(*attributes)
|
|
43
|
-
all.map
|
|
44
|
-
attributes.map { |attribute| country.data.fetch(attribute.to_s) }
|
|
45
|
-
end
|
|
43
|
+
all.map { |country| country.data.fetch_values(*attributes.map(&:to_s)) }
|
|
46
44
|
end
|
|
47
45
|
|
|
48
46
|
def all_translated(locale = 'en')
|
|
@@ -64,6 +62,27 @@ module ISO3166
|
|
|
64
62
|
translations.merge(custom_countries)
|
|
65
63
|
end
|
|
66
64
|
|
|
65
|
+
# @param query_val [String] A value to query using `query_method`
|
|
66
|
+
# @param query_method [Symbol] An optional query method, defaults to Country#alpha2
|
|
67
|
+
# @param result_method [Symbol] An optional method of `Country` to apply to the result set.
|
|
68
|
+
# @return [Array] An array of countries matching the provided query, or the result of applying `result_method` to the array of `Country` objects
|
|
69
|
+
def collect_countries_with(query_val, query_method = :alpha2, result_method = :itself)
|
|
70
|
+
return nil unless [query_method, result_method].map { |e| method_defined? e }.all?
|
|
71
|
+
|
|
72
|
+
all.select { |country| country.send(query_method).include? query_val }
|
|
73
|
+
.map { |country| country.send(result_method) }
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# @param subdivision_str [String] A subdivision name or code to search for. Search includes translated subdivision names.
|
|
77
|
+
# @param result_method [Symbol] An optional method of `Country` to apply to the result set.
|
|
78
|
+
# @return [Array] An array of countries with subdivisions matching the provided name, or the result of applying `result_method` to the array of `Country` objects
|
|
79
|
+
def collect_likely_countries_by_subdivision_name(subdivision_str, result_method = :itself)
|
|
80
|
+
return nil unless method_defined? result_method
|
|
81
|
+
|
|
82
|
+
all.select { |country| country.subdivision_for_string?(subdivision_str) }
|
|
83
|
+
.map { |country| country.send(result_method) }
|
|
84
|
+
end
|
|
85
|
+
|
|
67
86
|
protected
|
|
68
87
|
|
|
69
88
|
def strip_accents(string)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module ISO3166
|
|
4
|
+
module CountrySubdivisionMethods
|
|
5
|
+
# @param subdivision_str [String] A subdivision name or code to search for. Search includes translated subdivision names.
|
|
6
|
+
# @return [Subdivision] The first subdivision matching the provided string
|
|
7
|
+
def find_subdivision_by_name(subdivision_str)
|
|
8
|
+
subdivisions.select do |k, v|
|
|
9
|
+
subdivision_str == k || v.name == subdivision_str || v.translations.values.include?(subdivision_str)
|
|
10
|
+
end.values.first
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def subdivision_for_string?(subdivision_str)
|
|
14
|
+
!subdivisions.transform_values(&:translations)
|
|
15
|
+
.select { |k, v| subdivision_str == k || v.values.include?(subdivision_str) }.empty?
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# +true+ if this Country has any Subdivisions.
|
|
19
|
+
def subdivisions?
|
|
20
|
+
!subdivisions.empty?
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# @return [Array<ISO3166::Subdivision>] the list of subdivisions for this Country.
|
|
24
|
+
def subdivisions
|
|
25
|
+
@subdivisions ||= if data['subdivisions']
|
|
26
|
+
ISO3166::Data.create_subdivisions(data['subdivisions'])
|
|
27
|
+
else
|
|
28
|
+
ISO3166::Data.subdivisions(alpha2)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# @param types [Array<String>] The locale to use for translations.
|
|
33
|
+
# @return [Array<ISO3166::Subdivision>] the list of subdivisions of the given type(s) for this Country.
|
|
34
|
+
def subdivisions_of_types(types)
|
|
35
|
+
subdivisions.select { |_k, v| types.include?(v.type) }
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @return [Array<String>] the list of subdivision types for this country
|
|
39
|
+
def subdivision_types
|
|
40
|
+
subdivisions.map { |_k, v| v['type'] }.uniq
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @return [Array<String>] the list of humanized subdivision types for this country. Uses ActiveSupport's `#humanize` if available
|
|
44
|
+
def humanized_subdivision_types
|
|
45
|
+
if String.instance_methods.include?(:humanize)
|
|
46
|
+
subdivisions.map { |_k, v| v['type'].humanize }.uniq
|
|
47
|
+
else
|
|
48
|
+
subdivisions.map { |_k, v| humanize_string(v['type']) }.uniq
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# @param locale [String] The locale to use for translations.
|
|
53
|
+
# @return [Array<Array>] This Country's subdivision pairs of names and codes.
|
|
54
|
+
def subdivision_names_with_codes(locale = 'en')
|
|
55
|
+
subdivisions.map { |k, v| [v.translations[locale] || v.name, k] }
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# @param locale [String] The locale to use for translations.
|
|
59
|
+
# @return [Array<String>] A list of subdivision names for this country.
|
|
60
|
+
def subdivision_names(locale = 'en')
|
|
61
|
+
subdivisions.map { |_k, v| v.translations[locale] || v.name }
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def states
|
|
65
|
+
if RUBY_VERSION =~ /^3\.\d\.\d/
|
|
66
|
+
warn 'DEPRECATION WARNING: The Country#states method has been deprecated and will be removed in 6.0. Please use Country#subdivisions instead.',
|
|
67
|
+
uplevel: 1, category: :deprecated
|
|
68
|
+
else
|
|
69
|
+
warn 'DEPRECATION WARNING: The Country#states method has been deprecated and will be removed in 6.0. Please use Country#subdivisions instead.',
|
|
70
|
+
uplevel: 1
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
subdivisions
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
private
|
|
77
|
+
|
|
78
|
+
def humanize_string(str)
|
|
79
|
+
str[0].upcase + str.tr('_', ' ')[1..]
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -6,7 +6,6 @@ module ISO3166
|
|
|
6
6
|
# Optional extension which allows you to get back a +Money::Currency+ object with all the currency info.
|
|
7
7
|
# This requires enabling the integration with the {Money}[https://github.com/RubyMoney/money] gem (See {ISO3166::Configuration#enable_currency_extension!})
|
|
8
8
|
module CountryCurrencyMethods
|
|
9
|
-
|
|
10
9
|
# @return [Money::Currency] The currency data for this Country's +currency_code+
|
|
11
10
|
def currency
|
|
12
11
|
Money::Currency.find(data['currency_code'])
|
|
@@ -57,9 +57,7 @@ module ISO3166
|
|
|
57
57
|
raise "Invalid attribute name '#{attribute}'" unless searchable_attribute?(attribute.to_sym)
|
|
58
58
|
|
|
59
59
|
attributes = Array(attribute.to_s)
|
|
60
|
-
if attribute.to_s == 'any_name'
|
|
61
|
-
attributes = %w[iso_long_name iso_short_name unofficial_names translated_names]
|
|
62
|
-
end
|
|
60
|
+
attributes = %w[iso_long_name iso_short_name unofficial_names translated_names] if attribute.to_s == 'any_name'
|
|
63
61
|
|
|
64
62
|
[attributes, parse_value(val)]
|
|
65
63
|
end
|
|
@@ -75,7 +73,7 @@ module ISO3166
|
|
|
75
73
|
|
|
76
74
|
def searchable_attributes
|
|
77
75
|
# Add name and names until we complete the deprecation of the finders
|
|
78
|
-
instance_methods - UNSEARCHABLE_METHODS + [
|
|
76
|
+
instance_methods - UNSEARCHABLE_METHODS + %i[name names any_name]
|
|
79
77
|
end
|
|
80
78
|
end
|
|
81
79
|
end
|
data/lib/countries/country.rb
CHANGED
|
@@ -5,6 +5,7 @@ module ISO3166
|
|
|
5
5
|
extend CountryClassMethods
|
|
6
6
|
extend CountryFinderMethods
|
|
7
7
|
include Emoji
|
|
8
|
+
include CountrySubdivisionMethods
|
|
8
9
|
attr_reader :data
|
|
9
10
|
|
|
10
11
|
ISO3166::DEFAULT_COUNTRY_HASH.each do |method_name, _type|
|
|
@@ -50,65 +51,24 @@ module ISO3166
|
|
|
50
51
|
to_s <=> other.to_s
|
|
51
52
|
end
|
|
52
53
|
|
|
53
|
-
#
|
|
54
|
-
def
|
|
55
|
-
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
# @return [Array<ISO3166::Subdivision>] the list of subdivisions for this Country.
|
|
59
|
-
def subdivisions
|
|
60
|
-
@subdivisions ||= if data['subdivisions']
|
|
61
|
-
ISO3166::Data.create_subdivisions(data['subdivisions'])
|
|
62
|
-
else
|
|
63
|
-
ISO3166::Data.subdivisions(alpha2)
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
# @param types [Array<String>] The locale to use for translations.
|
|
68
|
-
# @return [Array<ISO3166::Subdivision>] the list of subdivisions of the given type(s) for this Country.
|
|
69
|
-
def subdivisions_of_types(types)
|
|
70
|
-
subdivisions.select{|k,v| types.include?(v.type)}
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
# @return [Array<String>] the list of subdivision types for this country
|
|
74
|
-
def subdivision_types
|
|
75
|
-
subdivisions.map{|k,v| v['type']}.uniq
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
# @return [Array<String>] the list of humanized subdivision types for this country. Uses ActiveSupport's `#humanize` if available
|
|
79
|
-
def humanized_subdivision_types
|
|
80
|
-
if String.instance_methods.include?(:humanize)
|
|
81
|
-
subdivisions.map{|k,v| v['type'].humanize}.uniq
|
|
82
|
-
else
|
|
83
|
-
subdivisions.map{|k,v| v['type'][0].upcase + v['type'].tr('_', ' ')[1..-1]}.uniq
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
# @param locale [String] The locale to use for translations.
|
|
88
|
-
# @return [Array<Array>] This Country's subdivision pairs of names and codes.
|
|
89
|
-
def subdivision_names_with_codes(locale = 'en')
|
|
90
|
-
subdivisions.map { |k, v| [v.translations[locale] || v.name, k] }
|
|
54
|
+
# +true+ if this country is a member of the European Union.
|
|
55
|
+
def in_eu?
|
|
56
|
+
data['eu_member'].nil? ? false : data['eu_member']
|
|
91
57
|
end
|
|
92
58
|
|
|
93
|
-
#
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
subdivisions.map { |k, v| v.translations[locale] || v.name }
|
|
59
|
+
# +true+ if this country is a member of the G7.
|
|
60
|
+
def in_g7?
|
|
61
|
+
data['g7_member'].nil? ? false : data['g7_member']
|
|
97
62
|
end
|
|
98
63
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
else
|
|
103
|
-
warn "DEPRECATION WARNING: The Country#states method has been deprecated and will be removed in 6.0. Please use Country#subdivisions instead.", uplevel: 1
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
subdivisions
|
|
64
|
+
# +true+ if this country is a member of the G20.
|
|
65
|
+
def in_g20?
|
|
66
|
+
data['g20_member'].nil? ? false : data['g20_member']
|
|
107
67
|
end
|
|
108
68
|
|
|
109
|
-
# +true+ if this country is a member of the European
|
|
110
|
-
def
|
|
111
|
-
data['
|
|
69
|
+
# +true+ if this country is a member of the European Economic Area or it is UK
|
|
70
|
+
def gdpr_compliant?
|
|
71
|
+
data['eea_member'] || alpha2 == 'GB'
|
|
112
72
|
end
|
|
113
73
|
|
|
114
74
|
# +true+ if this country is a member of the European Economic Area.
|
|
@@ -126,6 +86,11 @@ module ISO3166
|
|
|
126
86
|
data['euvat_member'].nil? ? in_eu? : data['euvat_member']
|
|
127
87
|
end
|
|
128
88
|
|
|
89
|
+
# @return [String] The regex for valid postal codes in this Country
|
|
90
|
+
def postal_code_format
|
|
91
|
+
"\\A#{data['postal_code_format']}\\Z" if postal_code
|
|
92
|
+
end
|
|
93
|
+
|
|
129
94
|
def to_s
|
|
130
95
|
data['iso_short_name']
|
|
131
96
|
end
|
|
@@ -178,6 +143,9 @@ module ISO3166
|
|
|
178
143
|
# @!attribute currency_code
|
|
179
144
|
# @return [String] the ISO 4217 currency code for this Country
|
|
180
145
|
#
|
|
146
|
+
# @!attribute distance_unit
|
|
147
|
+
# @return [String] the unit for roading distance and speed for this Country
|
|
148
|
+
#
|
|
181
149
|
# @!attribute gec
|
|
182
150
|
# @return [String] the "Geopolitical Entities and Codes", formerly FIPS 10-4 code for this Country
|
|
183
151
|
#
|
|
@@ -220,9 +188,6 @@ module ISO3166
|
|
|
220
188
|
# @!attribute postal_code
|
|
221
189
|
# @return [Boolean] Does this Country uses postal codes in addresses
|
|
222
190
|
#
|
|
223
|
-
# @!attribute postal_code_format
|
|
224
|
-
# @return [String] The regex for valid postal codes in this Country
|
|
225
|
-
#
|
|
226
191
|
# @!attribute region
|
|
227
192
|
# @return [String] The Region this country is in. Approximately matches the United Nations geoscheme
|
|
228
193
|
#
|