countries 4.0.0 → 4.2.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/.github/workflows/tests.yml +5 -3
- data/CHANGELOG.md +108 -2
- data/README.markdown +61 -42
- data/Rakefile +23 -31
- data/countries.gemspec +3 -1
- data/lib/countries/cache/countries.json +1 -1
- data/lib/countries/cache/locales/ab.json +1 -1
- data/lib/countries/cache/locales/af.json +1 -1
- data/lib/countries/cache/locales/ak.json +1 -1
- data/lib/countries/cache/locales/am.json +1 -1
- data/lib/countries/cache/locales/an.json +1 -1
- data/lib/countries/cache/locales/as.json +1 -1
- data/lib/countries/cache/locales/ay.json +1 -1
- data/lib/countries/cache/locales/az.json +1 -1
- data/lib/countries/cache/locales/ba.json +1 -1
- data/lib/countries/cache/locales/bg.json +1 -1
- data/lib/countries/cache/locales/bi.json +1 -1
- data/lib/countries/cache/locales/br.json +1 -1
- data/lib/countries/cache/locales/bs.json +1 -1
- data/lib/countries/cache/locales/ca.json +1 -1
- data/lib/countries/cache/locales/ce.json +1 -1
- data/lib/countries/cache/locales/ch.json +1 -1
- data/lib/countries/cache/locales/cv.json +1 -1
- data/lib/countries/cache/locales/de.json +1 -1
- data/lib/countries/cache/locales/dv.json +1 -1
- data/lib/countries/cache/locales/dz.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/eo.json +1 -1
- data/lib/countries/cache/locales/es.json +1 -1
- data/lib/countries/cache/locales/et.json +1 -1
- data/lib/countries/cache/locales/ff.json +1 -1
- data/lib/countries/cache/locales/fi.json +1 -1
- data/lib/countries/cache/locales/fo.json +1 -1
- data/lib/countries/cache/locales/fr.json +1 -1
- data/lib/countries/cache/locales/fy.json +1 -1
- data/lib/countries/cache/locales/ga.json +1 -1
- data/lib/countries/cache/locales/gl.json +1 -1
- data/lib/countries/cache/locales/gn.json +1 -1
- data/lib/countries/cache/locales/gu.json +1 -1
- data/lib/countries/cache/locales/gv.json +1 -1
- data/lib/countries/cache/locales/ha.json +1 -1
- data/lib/countries/cache/locales/he.json +1 -1
- data/lib/countries/cache/locales/hi.json +1 -1
- data/lib/countries/cache/locales/hr.json +1 -1
- data/lib/countries/cache/locales/ht.json +1 -1
- data/lib/countries/cache/locales/hy.json +1 -1
- data/lib/countries/cache/locales/io.json +1 -1
- data/lib/countries/cache/locales/is.json +1 -1
- data/lib/countries/cache/locales/iu.json +1 -1
- data/lib/countries/cache/locales/ja.json +1 -1
- data/lib/countries/cache/locales/ka.json +1 -1
- data/lib/countries/cache/locales/ki.json +1 -1
- data/lib/countries/cache/locales/kk.json +1 -1
- data/lib/countries/cache/locales/kl.json +1 -1
- data/lib/countries/cache/locales/km.json +1 -1
- data/lib/countries/cache/locales/kn.json +1 -1
- data/lib/countries/cache/locales/kv.json +1 -1
- data/lib/countries/cache/locales/kw.json +1 -1
- data/lib/countries/cache/locales/ky.json +1 -1
- data/lib/countries/cache/locales/lo.json +1 -1
- data/lib/countries/cache/locales/lt.json +1 -1
- data/lib/countries/cache/locales/lv.json +1 -1
- data/lib/countries/cache/locales/mi.json +1 -1
- data/lib/countries/cache/locales/mk.json +1 -1
- data/lib/countries/cache/locales/ml.json +1 -1
- data/lib/countries/cache/locales/mn.json +1 -1
- data/lib/countries/cache/locales/ms.json +1 -1
- data/lib/countries/cache/locales/mt.json +1 -1
- data/lib/countries/cache/locales/my.json +1 -1
- data/lib/countries/cache/locales/na.json +1 -1
- data/lib/countries/cache/locales/nb.json +1 -1
- data/lib/countries/cache/locales/ne.json +1 -1
- data/lib/countries/cache/locales/nl.json +1 -1
- data/lib/countries/cache/locales/nn.json +1 -1
- data/lib/countries/cache/locales/nv.json +1 -1
- data/lib/countries/cache/locales/oc.json +1 -1
- data/lib/countries/cache/locales/pi.json +1 -1
- data/lib/countries/cache/locales/ps.json +1 -1
- data/lib/countries/cache/locales/pt-br.json +1 -1
- data/lib/countries/cache/locales/ro.json +1 -1
- data/lib/countries/cache/locales/ru.json +1 -1
- data/lib/countries/cache/locales/rw.json +1 -1
- data/lib/countries/cache/locales/sc.json +1 -1
- data/lib/countries/cache/locales/sd.json +1 -1
- data/lib/countries/cache/locales/si.json +1 -1
- data/lib/countries/cache/locales/sk.json +1 -1
- data/lib/countries/cache/locales/sl.json +1 -1
- data/lib/countries/cache/locales/so.json +1 -1
- data/lib/countries/cache/locales/sr.json +1 -1
- data/lib/countries/cache/locales/sv.json +1 -1
- data/lib/countries/cache/locales/sw.json +1 -1
- data/lib/countries/cache/locales/ta.json +1 -1
- data/lib/countries/cache/locales/te.json +1 -1
- data/lib/countries/cache/locales/th.json +1 -1
- data/lib/countries/cache/locales/ti.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/tr.json +1 -1
- data/lib/countries/cache/locales/tt.json +1 -1
- data/lib/countries/cache/locales/ur.json +1 -1
- data/lib/countries/cache/locales/uz.json +1 -1
- data/lib/countries/cache/locales/ve.json +1 -1
- data/lib/countries/cache/locales/vi.json +1 -1
- data/lib/countries/cache/locales/wa.json +1 -1
- data/lib/countries/cache/locales/wo.json +1 -1
- data/lib/countries/cache/locales/xh.json +1 -1
- data/lib/countries/cache/locales/yo.json +1 -1
- data/lib/countries/cache/locales/zh-cn.json +1 -1
- data/lib/countries/cache/locales/zh.json +1 -1
- data/lib/countries/cache/locales/zu.json +1 -1
- data/lib/countries/country/class_methods.rb +28 -8
- data/lib/countries/country.rb +42 -2
- data/lib/countries/data/countries/AD.yaml +28 -29
- data/lib/countries/data/countries/AE.yaml +32 -33
- data/lib/countries/data/countries/AF.yaml +32 -33
- data/lib/countries/data/countries/AG.yaml +28 -29
- data/lib/countries/data/countries/AI.yaml +27 -28
- data/lib/countries/data/countries/AL.yaml +28 -29
- data/lib/countries/data/countries/AM.yaml +30 -31
- data/lib/countries/data/countries/AO.yaml +25 -26
- data/lib/countries/data/countries/AQ.yaml +24 -25
- data/lib/countries/data/countries/AR.yaml +30 -31
- data/lib/countries/data/countries/AS.yaml +31 -32
- data/lib/countries/data/countries/AT.yaml +36 -37
- data/lib/countries/data/countries/AU.yaml +33 -34
- data/lib/countries/data/countries/AW.yaml +25 -26
- data/lib/countries/data/countries/AX.yaml +27 -28
- data/lib/countries/data/countries/AZ.yaml +30 -31
- data/lib/countries/data/countries/BA.yaml +32 -33
- data/lib/countries/data/countries/BB.yaml +28 -29
- data/lib/countries/data/countries/BD.yaml +27 -28
- data/lib/countries/data/countries/BE.yaml +41 -42
- data/lib/countries/data/countries/BF.yaml +27 -28
- data/lib/countries/data/countries/BG.yaml +36 -37
- data/lib/countries/data/countries/BH.yaml +28 -29
- data/lib/countries/data/countries/BI.yaml +27 -28
- data/lib/countries/data/countries/BJ.yaml +26 -27
- data/lib/countries/data/countries/BL.yaml +25 -26
- data/lib/countries/data/countries/BM.yaml +29 -30
- data/lib/countries/data/countries/BN.yaml +26 -27
- data/lib/countries/data/countries/BO.yaml +31 -32
- data/lib/countries/data/countries/BQ.yaml +28 -29
- data/lib/countries/data/countries/BR.yaml +35 -36
- data/lib/countries/data/countries/BS.yaml +27 -28
- data/lib/countries/data/countries/BT.yaml +28 -29
- data/lib/countries/data/countries/BV.yaml +23 -24
- data/lib/countries/data/countries/BW.yaml +27 -28
- data/lib/countries/data/countries/BY.yaml +30 -31
- data/lib/countries/data/countries/BZ.yaml +28 -29
- data/lib/countries/data/countries/CA.yaml +30 -31
- data/lib/countries/data/countries/CC.yaml +28 -29
- data/lib/countries/data/countries/CD.yaml +35 -36
- data/lib/countries/data/countries/CF.yaml +29 -30
- data/lib/countries/data/countries/CG.yaml +29 -30
- data/lib/countries/data/countries/CH.yaml +40 -41
- data/lib/countries/data/countries/CI.yaml +27 -28
- data/lib/countries/data/countries/CK.yaml +27 -28
- data/lib/countries/data/countries/CL.yaml +32 -33
- data/lib/countries/data/countries/CM.yaml +29 -30
- data/lib/countries/data/countries/CN.yaml +28 -29
- data/lib/countries/data/countries/CO.yaml +28 -29
- data/lib/countries/data/countries/CR.yaml +26 -27
- data/lib/countries/data/countries/CU.yaml +27 -28
- data/lib/countries/data/countries/CV.yaml +28 -29
- data/lib/countries/data/countries/CW.yaml +25 -26
- data/lib/countries/data/countries/CX.yaml +30 -31
- data/lib/countries/data/countries/CY.yaml +40 -41
- data/lib/countries/data/countries/CZ.yaml +38 -39
- data/lib/countries/data/countries/DE.yaml +36 -37
- data/lib/countries/data/countries/DJ.yaml +29 -30
- data/lib/countries/data/countries/DK.yaml +35 -36
- data/lib/countries/data/countries/DM.yaml +26 -27
- data/lib/countries/data/countries/DO.yaml +28 -29
- data/lib/countries/data/countries/DZ.yaml +28 -29
- data/lib/countries/data/countries/EC.yaml +28 -29
- data/lib/countries/data/countries/EE.yaml +35 -36
- data/lib/countries/data/countries/EG.yaml +28 -29
- data/lib/countries/data/countries/EH.yaml +30 -31
- data/lib/countries/data/countries/ER.yaml +31 -32
- data/lib/countries/data/countries/ES.yaml +36 -37
- data/lib/countries/data/countries/ET.yaml +28 -29
- data/lib/countries/data/countries/FI.yaml +38 -39
- data/lib/countries/data/countries/FJ.yaml +33 -34
- data/lib/countries/data/countries/FK.yaml +29 -30
- data/lib/countries/data/countries/FM.yaml +28 -29
- data/lib/countries/data/countries/FO.yaml +28 -29
- data/lib/countries/data/countries/FR.yaml +37 -38
- data/lib/countries/data/countries/GA.yaml +27 -28
- data/lib/countries/data/countries/GB.yaml +39 -38
- data/lib/countries/data/countries/GD.yaml +26 -27
- data/lib/countries/data/countries/GE.yaml +28 -29
- data/lib/countries/data/countries/GF.yaml +29 -30
- data/lib/countries/data/countries/GG.yaml +30 -31
- data/lib/countries/data/countries/GH.yaml +27 -28
- data/lib/countries/data/countries/GI.yaml +26 -27
- data/lib/countries/data/countries/GL.yaml +29 -30
- data/lib/countries/data/countries/GM.yaml +25 -26
- data/lib/countries/data/countries/GN.yaml +30 -31
- data/lib/countries/data/countries/GP.yaml +27 -28
- data/lib/countries/data/countries/GQ.yaml +29 -30
- data/lib/countries/data/countries/GR.yaml +37 -38
- data/lib/countries/data/countries/GS.yaml +27 -28
- data/lib/countries/data/countries/GT.yaml +26 -27
- data/lib/countries/data/countries/GU.yaml +31 -32
- data/lib/countries/data/countries/GW.yaml +28 -29
- data/lib/countries/data/countries/GY.yaml +26 -27
- data/lib/countries/data/countries/HK.yaml +28 -29
- data/lib/countries/data/countries/HM.yaml +27 -28
- data/lib/countries/data/countries/HN.yaml +27 -28
- data/lib/countries/data/countries/HR.yaml +37 -38
- data/lib/countries/data/countries/HT.yaml +29 -30
- data/lib/countries/data/countries/HU.yaml +37 -38
- data/lib/countries/data/countries/ID.yaml +28 -29
- data/lib/countries/data/countries/IE.yaml +39 -40
- data/lib/countries/data/countries/IL.yaml +35 -29
- data/lib/countries/data/countries/IM.yaml +29 -30
- data/lib/countries/data/countries/IN.yaml +30 -31
- data/lib/countries/data/countries/IO.yaml +26 -27
- data/lib/countries/data/countries/IQ.yaml +28 -29
- data/lib/countries/data/countries/IR.yaml +28 -29
- data/lib/countries/data/countries/IS.yaml +35 -36
- data/lib/countries/data/countries/IT.yaml +36 -37
- data/lib/countries/data/countries/JE.yaml +26 -27
- data/lib/countries/data/countries/JM.yaml +28 -29
- data/lib/countries/data/countries/JO.yaml +28 -29
- data/lib/countries/data/countries/JP.yaml +28 -29
- data/lib/countries/data/countries/KE.yaml +29 -30
- data/lib/countries/data/countries/KG.yaml +30 -31
- data/lib/countries/data/countries/KH.yaml +28 -29
- data/lib/countries/data/countries/KI.yaml +25 -26
- data/lib/countries/data/countries/KM.yaml +29 -30
- data/lib/countries/data/countries/KN.yaml +29 -29
- data/lib/countries/data/countries/KP.yaml +27 -28
- data/lib/countries/data/countries/KR.yaml +28 -29
- data/lib/countries/data/countries/KW.yaml +28 -29
- data/lib/countries/data/countries/KY.yaml +29 -30
- data/lib/countries/data/countries/KZ.yaml +30 -31
- data/lib/countries/data/countries/LA.yaml +27 -28
- data/lib/countries/data/countries/LB.yaml +30 -31
- data/lib/countries/data/countries/LC.yaml +28 -29
- data/lib/countries/data/countries/LI.yaml +27 -28
- data/lib/countries/data/countries/LK.yaml +28 -29
- data/lib/countries/data/countries/LR.yaml +28 -29
- data/lib/countries/data/countries/LS.yaml +28 -29
- data/lib/countries/data/countries/LT.yaml +37 -38
- data/lib/countries/data/countries/LU.yaml +39 -40
- data/lib/countries/data/countries/LV.yaml +36 -37
- data/lib/countries/data/countries/LY.yaml +27 -28
- data/lib/countries/data/countries/MA.yaml +28 -29
- data/lib/countries/data/countries/MC.yaml +28 -29
- data/lib/countries/data/countries/MD.yaml +28 -29
- data/lib/countries/data/countries/ME.yaml +33 -34
- data/lib/countries/data/countries/MF.yaml +29 -30
- data/lib/countries/data/countries/MG.yaml +30 -31
- data/lib/countries/data/countries/MH.yaml +30 -31
- data/lib/countries/data/countries/MK.yaml +28 -29
- data/lib/countries/data/countries/ML.yaml +25 -26
- data/lib/countries/data/countries/MM.yaml +27 -28
- data/lib/countries/data/countries/MN.yaml +28 -29
- data/lib/countries/data/countries/MO.yaml +28 -29
- data/lib/countries/data/countries/MP.yaml +31 -32
- data/lib/countries/data/countries/MQ.yaml +27 -28
- data/lib/countries/data/countries/MR.yaml +29 -30
- data/lib/countries/data/countries/MS.yaml +26 -27
- data/lib/countries/data/countries/MT.yaml +36 -37
- data/lib/countries/data/countries/MU.yaml +28 -29
- data/lib/countries/data/countries/MV.yaml +28 -29
- data/lib/countries/data/countries/MW.yaml +27 -28
- data/lib/countries/data/countries/MX.yaml +33 -34
- data/lib/countries/data/countries/MY.yaml +30 -31
- data/lib/countries/data/countries/MZ.yaml +28 -29
- data/lib/countries/data/countries/NA.yaml +30 -31
- data/lib/countries/data/countries/NC.yaml +29 -30
- data/lib/countries/data/countries/NE.yaml +27 -28
- data/lib/countries/data/countries/NF.yaml +29 -30
- data/lib/countries/data/countries/NG.yaml +33 -34
- data/lib/countries/data/countries/NI.yaml +26 -27
- data/lib/countries/data/countries/NL.yaml +36 -37
- data/lib/countries/data/countries/NO.yaml +36 -37
- data/lib/countries/data/countries/NP.yaml +32 -33
- data/lib/countries/data/countries/NR.yaml +27 -28
- data/lib/countries/data/countries/NU.yaml +25 -26
- data/lib/countries/data/countries/NZ.yaml +34 -35
- data/lib/countries/data/countries/OM.yaml +28 -29
- data/lib/countries/data/countries/PA.yaml +26 -27
- data/lib/countries/data/countries/PE.yaml +28 -29
- data/lib/countries/data/countries/PF.yaml +29 -30
- data/lib/countries/data/countries/PG.yaml +28 -29
- data/lib/countries/data/countries/PH.yaml +35 -36
- data/lib/countries/data/countries/PK.yaml +30 -31
- data/lib/countries/data/countries/PL.yaml +36 -37
- data/lib/countries/data/countries/PM.yaml +29 -30
- data/lib/countries/data/countries/PN.yaml +27 -28
- data/lib/countries/data/countries/PR.yaml +28 -29
- data/lib/countries/data/countries/PS.yaml +31 -32
- data/lib/countries/data/countries/PT.yaml +33 -34
- data/lib/countries/data/countries/PW.yaml +26 -27
- data/lib/countries/data/countries/PY.yaml +28 -29
- data/lib/countries/data/countries/QA.yaml +27 -28
- data/lib/countries/data/countries/RE.yaml +28 -29
- data/lib/countries/data/countries/RO.yaml +37 -38
- data/lib/countries/data/countries/RS.yaml +28 -29
- data/lib/countries/data/countries/RU.yaml +28 -29
- data/lib/countries/data/countries/RW.yaml +31 -32
- data/lib/countries/data/countries/SA.yaml +33 -29
- data/lib/countries/data/countries/SB.yaml +27 -28
- data/lib/countries/data/countries/SC.yaml +28 -29
- data/lib/countries/data/countries/SD.yaml +30 -31
- data/lib/countries/data/countries/SE.yaml +37 -38
- data/lib/countries/data/countries/SG.yaml +32 -33
- data/lib/countries/data/countries/SH.yaml +29 -30
- data/lib/countries/data/countries/SI.yaml +36 -37
- data/lib/countries/data/countries/SJ.yaml +29 -30
- data/lib/countries/data/countries/SK.yaml +36 -37
- data/lib/countries/data/countries/SL.yaml +25 -26
- data/lib/countries/data/countries/SM.yaml +28 -29
- data/lib/countries/data/countries/SN.yaml +27 -28
- data/lib/countries/data/countries/SO.yaml +30 -31
- data/lib/countries/data/countries/SR.yaml +26 -27
- data/lib/countries/data/countries/SS.yaml +29 -30
- data/lib/countries/data/countries/ST.yaml +27 -28
- data/lib/countries/data/countries/SV.yaml +27 -28
- data/lib/countries/data/countries/SX.yaml +28 -29
- data/lib/countries/data/countries/SY.yaml +27 -28
- data/lib/countries/data/countries/SZ.yaml +30 -31
- data/lib/countries/data/countries/TC.yaml +30 -31
- data/lib/countries/data/countries/TD.yaml +29 -30
- data/lib/countries/data/countries/TF.yaml +28 -29
- data/lib/countries/data/countries/TG.yaml +25 -26
- data/lib/countries/data/countries/TH.yaml +34 -35
- data/lib/countries/data/countries/TJ.yaml +30 -31
- data/lib/countries/data/countries/TK.yaml +27 -28
- data/lib/countries/data/countries/TL.yaml +27 -28
- data/lib/countries/data/countries/TM.yaml +30 -31
- data/lib/countries/data/countries/TN.yaml +30 -31
- data/lib/countries/data/countries/TO.yaml +29 -30
- data/lib/countries/data/countries/TR.yaml +28 -29
- data/lib/countries/data/countries/TT.yaml +28 -29
- data/lib/countries/data/countries/TV.yaml +25 -26
- data/lib/countries/data/countries/TW.yaml +28 -29
- data/lib/countries/data/countries/TZ.yaml +30 -31
- data/lib/countries/data/countries/UA.yaml +34 -35
- data/lib/countries/data/countries/UG.yaml +28 -29
- data/lib/countries/data/countries/UM.yaml +29 -30
- data/lib/countries/data/countries/US.yaml +29 -29
- data/lib/countries/data/countries/UY.yaml +27 -28
- data/lib/countries/data/countries/UZ.yaml +30 -31
- data/lib/countries/data/countries/VA.yaml +31 -32
- data/lib/countries/data/countries/VC.yaml +29 -30
- data/lib/countries/data/countries/VE.yaml +26 -27
- data/lib/countries/data/countries/VG.yaml +29 -30
- data/lib/countries/data/countries/VI.yaml +28 -29
- data/lib/countries/data/countries/VN.yaml +28 -29
- data/lib/countries/data/countries/VU.yaml +31 -32
- data/lib/countries/data/countries/WF.yaml +29 -30
- data/lib/countries/data/countries/WS.yaml +28 -29
- data/lib/countries/data/countries/YE.yaml +27 -28
- data/lib/countries/data/countries/YT.yaml +26 -27
- data/lib/countries/data/countries/ZA.yaml +39 -40
- data/lib/countries/data/countries/ZM.yaml +28 -29
- data/lib/countries/data/countries/ZW.yaml +31 -32
- data/lib/countries/data/subdivisions/AE.yaml +33 -21
- data/lib/countries/data/subdivisions/AF.yaml +162 -128
- data/lib/countries/data/subdivisions/AG.yaml +44 -35
- data/lib/countries/data/subdivisions/AL.yaml +252 -240
- data/lib/countries/data/subdivisions/AM.yaml +57 -45
- data/lib/countries/data/subdivisions/AO.yaml +72 -54
- data/lib/countries/data/subdivisions/AR.yaml +98 -72
- data/lib/countries/data/subdivisions/AS.yaml +40 -40
- data/lib/countries/data/subdivisions/AT.yaml +38 -27
- data/lib/countries/data/subdivisions/AU.yaml +33 -24
- data/lib/countries/data/subdivisions/AW.yaml +6 -6
- data/lib/countries/data/subdivisions/AX.yaml +27 -27
- data/lib/countries/data/subdivisions/AZ.yaml +367 -290
- data/lib/countries/data/subdivisions/BA.yaml +130 -127
- data/lib/countries/data/subdivisions/BB.yaml +47 -33
- data/lib/countries/data/subdivisions/BD.yaml +350 -338
- data/lib/countries/data/subdivisions/BE.yaml +69 -55
- data/lib/countries/data/subdivisions/BF.yaml +340 -282
- data/lib/countries/data/subdivisions/BG.yaml +112 -84
- data/lib/countries/data/subdivisions/BH.yaml +23 -19
- data/lib/countries/data/subdivisions/BI.yaml +98 -81
- data/lib/countries/data/subdivisions/BJ.yaml +60 -36
- data/lib/countries/data/subdivisions/BL.yaml +5 -5
- data/lib/countries/data/subdivisions/BN.yaml +20 -16
- data/lib/countries/data/subdivisions/BO.yaml +36 -27
- data/lib/countries/data/subdivisions/BQ.yaml +13 -9
- data/lib/countries/data/subdivisions/BR.yaml +138 -85
- data/lib/countries/data/subdivisions/BS.yaml +340 -309
- data/lib/countries/data/subdivisions/BT.yaml +80 -60
- data/lib/countries/data/subdivisions/BW.yaml +122 -104
- data/lib/countries/data/subdivisions/BY.yaml +58 -50
- data/lib/countries/data/subdivisions/BZ.yaml +24 -18
- data/lib/countries/data/subdivisions/CA.yaml +54 -39
- data/lib/countries/data/subdivisions/CD.yaml +269 -242
- data/lib/countries/data/subdivisions/CF.yaml +70 -51
- data/lib/countries/data/subdivisions/CG.yaml +57 -44
- data/lib/countries/data/subdivisions/CH.yaml +104 -78
- data/lib/countries/data/subdivisions/CI.yaml +247 -235
- data/lib/countries/data/subdivisions/CL.yaml +64 -48
- data/lib/countries/data/subdivisions/CM.yaml +44 -30
- data/lib/countries/data/subdivisions/CN.yaml +691 -12
- data/lib/countries/data/subdivisions/CO.yaml +169 -103
- data/lib/countries/data/subdivisions/CR.yaml +28 -21
- data/lib/countries/data/subdivisions/CU.yaml +63 -48
- data/lib/countries/data/subdivisions/CV.yaml +173 -150
- data/lib/countries/data/subdivisions/CW.yaml +6 -6
- data/lib/countries/data/subdivisions/CY.yaml +24 -18
- data/lib/countries/data/subdivisions/CZ.yaml +1046 -3706
- data/lib/countries/data/subdivisions/DE.yaml +98 -64
- data/lib/countries/data/subdivisions/DJ.yaml +26 -18
- data/lib/countries/data/subdivisions/DK.yaml +79 -296
- data/lib/countries/data/subdivisions/DM.yaml +40 -30
- data/lib/countries/data/subdivisions/DO.yaml +244 -214
- data/lib/countries/data/subdivisions/DZ.yaml +196 -148
- data/lib/countries/data/subdivisions/EC.yaml +100 -76
- data/lib/countries/data/subdivisions/EE.yaml +380 -87
- data/lib/countries/data/subdivisions/EG.yaml +108 -81
- data/lib/countries/data/subdivisions/ER.yaml +24 -18
- data/lib/countries/data/subdivisions/ES.yaml +415 -344
- data/lib/countries/data/subdivisions/ET.yaml +47 -33
- data/lib/countries/data/subdivisions/FI.yaml +128 -506
- data/lib/countries/data/subdivisions/FJ.yaml +189 -169
- data/lib/countries/data/subdivisions/FM.yaml +19 -16
- data/lib/countries/data/subdivisions/FR.yaml +1106 -1368
- data/lib/countries/data/subdivisions/GA.yaml +36 -27
- data/lib/countries/data/subdivisions/GB.yaml +1244 -1024
- data/lib/countries/data/subdivisions/GD.yaml +28 -21
- data/lib/countries/data/subdivisions/GE.yaml +50 -36
- data/lib/countries/data/subdivisions/GF.yaml +5 -5
- data/lib/countries/data/subdivisions/GH.yaml +87 -66
- data/lib/countries/data/subdivisions/GL.yaml +62 -56
- data/lib/countries/data/subdivisions/GM.yaml +26 -18
- data/lib/countries/data/subdivisions/GN.yaml +226 -183
- data/lib/countries/data/subdivisions/GP.yaml +5 -5
- data/lib/countries/data/subdivisions/GQ.yaml +42 -31
- data/lib/countries/data/subdivisions/GR.yaml +190 -1048
- data/lib/countries/data/subdivisions/GT.yaml +92 -70
- data/lib/countries/data/subdivisions/GU.yaml +139 -139
- data/lib/countries/data/subdivisions/GW.yaml +74 -64
- data/lib/countries/data/subdivisions/GY.yaml +40 -30
- data/lib/countries/data/subdivisions/HK.yaml +131 -131
- data/lib/countries/data/subdivisions/HN.yaml +71 -54
- data/lib/countries/data/subdivisions/HR.yaml +85 -63
- data/lib/countries/data/subdivisions/HT.yaml +48 -38
- data/lib/countries/data/subdivisions/HU.yaml +232 -191
- data/lib/countries/data/subdivisions/ID.yaml +296 -213
- data/lib/countries/data/subdivisions/IE.yaml +560 -529
- data/lib/countries/data/subdivisions/IL.yaml +24 -18
- data/lib/countries/data/subdivisions/IN.yaml +207 -135
- data/lib/countries/data/subdivisions/IQ.yaml +83 -65
- data/lib/countries/data/subdivisions/IR.yaml +143 -109
- data/lib/countries/data/subdivisions/IS.yaml +255 -31
- data/lib/countries/data/subdivisions/IT.yaml +2042 -2494
- data/lib/countries/data/subdivisions/JM.yaml +56 -42
- data/lib/countries/data/subdivisions/JO.yaml +84 -72
- data/lib/countries/data/subdivisions/JP.yaml +194 -145
- data/lib/countries/data/subdivisions/KE.yaml +786 -852
- data/lib/countries/data/subdivisions/KG.yaml +45 -35
- data/lib/countries/data/subdivisions/KH.yaml +130 -105
- data/lib/countries/data/subdivisions/KI.yaml +16 -13
- data/lib/countries/data/subdivisions/KM.yaml +12 -9
- data/lib/countries/data/subdivisions/KN.yaml +80 -64
- data/lib/countries/data/subdivisions/KP.yaml +201 -187
- data/lib/countries/data/subdivisions/KR.yaml +106 -83
- data/lib/countries/data/subdivisions/KW.yaml +23 -18
- data/lib/countries/data/subdivisions/KZ.yaml +74 -56
- data/lib/countries/data/subdivisions/LA.yaml +87 -71
- data/lib/countries/data/subdivisions/LB.yaml +65 -60
- data/lib/countries/data/subdivisions/LC.yaml +119 -110
- data/lib/countries/data/subdivisions/LI.yaml +85 -73
- data/lib/countries/data/subdivisions/LK.yaml +195 -174
- data/lib/countries/data/subdivisions/LR.yaml +82 -67
- data/lib/countries/data/subdivisions/LS.yaml +40 -30
- data/lib/countries/data/subdivisions/LT.yaml +771 -750
- data/lib/countries/data/subdivisions/LU.yaml +258 -295
- data/lib/countries/data/subdivisions/LV.yaml +492 -5363
- data/lib/countries/data/subdivisions/LY.yaml +98 -78
- data/lib/countries/data/subdivisions/MA.yaml +554 -520
- data/lib/countries/data/subdivisions/MC.yaml +189 -187
- data/lib/countries/data/subdivisions/MD.yaml +395 -356
- data/lib/countries/data/subdivisions/ME.yaml +108 -90
- data/lib/countries/data/subdivisions/MF.yaml +6 -6
- data/lib/countries/data/subdivisions/MG.yaml +24 -18
- data/lib/countries/data/subdivisions/MH.yaml +128 -121
- data/lib/countries/data/subdivisions/MK.yaml +3740 -5989
- data/lib/countries/data/subdivisions/ML.yaml +49 -38
- data/lib/countries/data/subdivisions/MM.yaml +80 -53
- data/lib/countries/data/subdivisions/MN.yaml +89 -66
- data/lib/countries/data/subdivisions/MO.yaml +6 -6
- data/lib/countries/data/subdivisions/MP.yaml +33 -33
- data/lib/countries/data/subdivisions/MQ.yaml +5 -5
- data/lib/countries/data/subdivisions/MR.yaml +84 -72
- data/lib/countries/data/subdivisions/MT.yaml +280 -212
- data/lib/countries/data/subdivisions/MU.yaml +74 -55
- data/lib/countries/data/subdivisions/MV.yaml +171 -151
- data/lib/countries/data/subdivisions/MW.yaml +156 -125
- data/lib/countries/data/subdivisions/MX.yaml +139 -105
- data/lib/countries/data/subdivisions/MY.yaml +66 -48
- data/lib/countries/data/subdivisions/MZ.yaml +46 -33
- data/lib/countries/data/subdivisions/NA.yaml +54 -42
- data/lib/countries/data/subdivisions/NC.yaml +26 -26
- data/lib/countries/data/subdivisions/NE.yaml +41 -24
- data/lib/countries/data/subdivisions/NG.yaml +185 -111
- data/lib/countries/data/subdivisions/NI.yaml +68 -51
- data/lib/countries/data/subdivisions/NL.yaml +118 -102
- data/lib/countries/data/subdivisions/NO.yaml +627 -1584
- data/lib/countries/data/subdivisions/NP.yaml +157 -145
- data/lib/countries/data/subdivisions/NR.yaml +56 -42
- data/lib/countries/data/subdivisions/NZ.yaml +130 -158
- data/lib/countries/data/subdivisions/OM.yaml +104 -93
- data/lib/countries/data/subdivisions/PA.yaml +74 -61
- data/lib/countries/data/subdivisions/PE.yaml +108 -82
- data/lib/countries/data/subdivisions/PF.yaml +40 -40
- data/lib/countries/data/subdivisions/PG.yaml +113 -93
- data/lib/countries/data/subdivisions/PH.yaml +525 -432
- data/lib/countries/data/subdivisions/PK.yaml +55 -46
- data/lib/countries/data/subdivisions/PL.yaml +212 -1179
- data/lib/countries/data/subdivisions/PM.yaml +19 -19
- data/lib/countries/data/subdivisions/PR.yaml +551 -551
- data/lib/countries/data/subdivisions/PS.yaml +184 -176
- data/lib/countries/data/subdivisions/PT.yaml +81 -60
- data/lib/countries/data/subdivisions/PW.yaml +72 -52
- data/lib/countries/data/subdivisions/PY.yaml +72 -54
- data/lib/countries/data/subdivisions/QA.yaml +62 -53
- data/lib/countries/data/subdivisions/RE.yaml +5 -5
- data/lib/countries/data/subdivisions/RO.yaml +169 -126
- data/lib/countries/data/subdivisions/RS.yaml +158 -130
- data/lib/countries/data/subdivisions/RU.yaml +357 -270
- data/lib/countries/data/subdivisions/RW.yaml +22 -15
- data/lib/countries/data/subdivisions/SA.yaml +52 -39
- data/lib/countries/data/subdivisions/SB.yaml +40 -30
- data/lib/countries/data/subdivisions/SC.yaml +120 -91
- data/lib/countries/data/subdivisions/SD.yaml +98 -81
- data/lib/countries/data/subdivisions/SE.yaml +84 -63
- data/lib/countries/data/subdivisions/SG.yaml +57 -127
- data/lib/countries/data/subdivisions/SH.yaml +23 -20
- data/lib/countries/data/subdivisions/SI.yaml +987 -811
- data/lib/countries/data/subdivisions/SK.yaml +32 -24
- data/lib/countries/data/subdivisions/SL.yaml +21 -17
- data/lib/countries/data/subdivisions/SM.yaml +37 -27
- data/lib/countries/data/subdivisions/SN.yaml +80 -66
- data/lib/countries/data/subdivisions/SO.yaml +69 -54
- data/lib/countries/data/subdivisions/SR.yaml +40 -30
- data/lib/countries/data/subdivisions/SS.yaml +120 -110
- data/lib/countries/data/subdivisions/ST.yaml +27 -6
- data/lib/countries/data/subdivisions/SV.yaml +54 -42
- data/lib/countries/data/subdivisions/SX.yaml +6 -6
- data/lib/countries/data/subdivisions/SY.yaml +67 -54
- data/lib/countries/data/subdivisions/SZ.yaml +16 -12
- data/lib/countries/data/subdivisions/TD.yaml +143 -120
- data/lib/countries/data/subdivisions/TF.yaml +27 -27
- data/lib/countries/data/subdivisions/TG.yaml +20 -15
- data/lib/countries/data/subdivisions/TH.yaml +322 -242
- data/lib/countries/data/subdivisions/TJ.yaml +37 -31
- data/lib/countries/data/subdivisions/TL.yaml +52 -39
- data/lib/countries/data/subdivisions/TM.yaml +31 -26
- data/lib/countries/data/subdivisions/TN.yaml +96 -72
- data/lib/countries/data/subdivisions/TO.yaml +19 -15
- data/lib/countries/data/subdivisions/TR.yaml +324 -243
- data/lib/countries/data/subdivisions/TT.yaml +88 -70
- data/lib/countries/data/subdivisions/TV.yaml +55 -47
- data/lib/countries/data/subdivisions/TW.yaml +146 -123
- data/lib/countries/data/subdivisions/TZ.yaml +182 -127
- data/lib/countries/data/subdivisions/UA.yaml +109 -81
- data/lib/countries/data/subdivisions/UG.yaml +912 -775
- data/lib/countries/data/subdivisions/UM.yaml +45 -36
- data/lib/countries/data/subdivisions/US.yaml +304 -227
- data/lib/countries/data/subdivisions/UY.yaml +78 -57
- data/lib/countries/data/subdivisions/UZ.yaml +57 -42
- data/lib/countries/data/subdivisions/VC.yaml +32 -22
- data/lib/countries/data/subdivisions/VE.yaml +100 -75
- data/lib/countries/data/subdivisions/VI.yaml +26 -26
- data/lib/countries/data/subdivisions/VN.yaml +256 -191
- data/lib/countries/data/subdivisions/VU.yaml +24 -18
- data/lib/countries/data/subdivisions/WF.yaml +41 -38
- data/lib/countries/data/subdivisions/WS.yaml +44 -33
- data/lib/countries/data/subdivisions/YE.yaml +114 -94
- data/lib/countries/data/subdivisions/YT.yaml +125 -125
- data/lib/countries/data/subdivisions/ZA.yaml +56 -39
- data/lib/countries/data/subdivisions/ZM.yaml +48 -38
- data/lib/countries/data/subdivisions/ZW.yaml +39 -30
- data/lib/countries/data/translation_corrections.yaml +22 -12
- data/lib/countries/global.rb +1 -3
- data/lib/countries/structure.rb +2 -5
- data/lib/countries/tasks/geocoding.rake +1 -1
- data/lib/countries/translations.rb +1 -1
- data/lib/countries/version.rb +1 -1
- data/spec/country_spec.rb +120 -53
- data/spec/data_spec.rb +13 -13
- metadata +9 -11
- data/lib/countries/data/subdivisions/FO.yaml +0 -85
- data/lib/countries/data/subdivisions/KY.yaml +0 -85
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
BU:
|
2
|
+
BU:
|
3
3
|
name: Bulawayo
|
4
|
-
code:
|
4
|
+
code:
|
5
5
|
unofficial_names: Bulawayo
|
6
6
|
geo:
|
7
7
|
latitude: -20.1325066
|
@@ -17,10 +17,10 @@ BU:
|
|
17
17
|
ar: إقليم بولاوايو
|
18
18
|
ccp: "\U0001111D\U0001112A\U00011123\U00011124\U00011103\U0001112E"
|
19
19
|
be: Булавая
|
20
|
-
comments:
|
21
|
-
HA:
|
20
|
+
comments:
|
21
|
+
HA:
|
22
22
|
name: Harare
|
23
|
-
code:
|
23
|
+
code:
|
24
24
|
unofficial_names: Harare
|
25
25
|
geo:
|
26
26
|
latitude: -17.863889
|
@@ -41,10 +41,11 @@ HA:
|
|
41
41
|
pt: Harare
|
42
42
|
nb: Harare Province
|
43
43
|
ne: हरारे प्रदेश
|
44
|
-
|
45
|
-
|
44
|
+
'no': Harare Province
|
45
|
+
comments:
|
46
|
+
MA:
|
46
47
|
name: Manicaland
|
47
|
-
code:
|
48
|
+
code:
|
48
49
|
unofficial_names: Manicaland
|
49
50
|
geo:
|
50
51
|
latitude: -18.9216386
|
@@ -102,10 +103,11 @@ MA:
|
|
102
103
|
ceb: Manicaland Province
|
103
104
|
sr_Latn: Manikalend
|
104
105
|
ccp: "\U0001111F\U00011127\U0001111A\U00011128\U00011107\U00011123\U00011133\U00011120\U0001111A\U00011133\U00011113\U00011134"
|
105
|
-
|
106
|
-
|
106
|
+
'no': Manicaland
|
107
|
+
comments:
|
108
|
+
MC:
|
107
109
|
name: Mashonaland Central
|
108
|
-
code:
|
110
|
+
code:
|
109
111
|
unofficial_names: Mashonaland Central
|
110
112
|
geo:
|
111
113
|
latitude: -16.7644295
|
@@ -163,10 +165,11 @@ MC:
|
|
163
165
|
sr_Latn: Mašonalend Central
|
164
166
|
ccp: "\U0001111F\U00011125\U0001112E\U0001111A\U00011123\U00011133\U00011120\U0001111A\U00011133\U00011113\U00011134
|
165
167
|
\U00011125\U0001112C\U0001111A\U00011134\U00011111\U00011133\U00011122\U00011123\U00011134"
|
166
|
-
|
167
|
-
|
168
|
+
'no': Mashonaland Central
|
169
|
+
comments:
|
170
|
+
ME:
|
168
171
|
name: Mashonaland East
|
169
|
-
code:
|
172
|
+
code:
|
170
173
|
unofficial_names: Mashonaland East
|
171
174
|
geo:
|
172
175
|
latitude: -18.5871642
|
@@ -225,10 +228,11 @@ ME:
|
|
225
228
|
ccp: "\U0001111F\U00011125\U0001112E\U0001111A\U00011123\U00011133\U00011120\U0001111A\U00011133\U00011113\U00011134
|
226
229
|
\U0001111B\U0001112A\U00011107\U00011134"
|
227
230
|
he: משונאלנד מזרח פרובינציה
|
228
|
-
|
229
|
-
|
231
|
+
'no': Mashonaland East
|
232
|
+
comments:
|
233
|
+
MI:
|
230
234
|
name: Midlands
|
231
|
-
code:
|
235
|
+
code:
|
232
236
|
unofficial_names: Midlands
|
233
237
|
geo:
|
234
238
|
latitude: -19.0552009
|
@@ -285,10 +289,11 @@ MI:
|
|
285
289
|
ceb: Midlands Province
|
286
290
|
sr_Latn: Midlends
|
287
291
|
ccp: "\U0001111F\U00011128\U00011116\U00011134\U00011123\U00011133\U00011120\U0001111A\U00011133\U00011113\U00011134\U00011125\U00011134"
|
288
|
-
|
289
|
-
|
292
|
+
'no': Midlands
|
293
|
+
comments:
|
294
|
+
MN:
|
290
295
|
name: Matabeleland North
|
291
|
-
code:
|
296
|
+
code:
|
292
297
|
unofficial_names: Matabeleland North
|
293
298
|
geo:
|
294
299
|
latitude: -18.5331566
|
@@ -347,10 +352,11 @@ MN:
|
|
347
352
|
sr_Latn: Matabelelend Sever
|
348
353
|
ccp: "\U0001111F\U00011111\U0001111D\U00011128\U00011123\U00011128\U00011123\U00011133\U00011120\U0001111A\U00011133\U00011113\U00011134
|
349
354
|
\U00011105\U0001112A\U00011116\U00011133\U00011126\U00011127\U00011122\U00011134"
|
350
|
-
|
351
|
-
|
355
|
+
'no': Matabeleland North
|
356
|
+
comments:
|
357
|
+
MS:
|
352
358
|
name: Matabeleland South
|
353
|
-
code:
|
359
|
+
code:
|
354
360
|
unofficial_names: Matabeleland South
|
355
361
|
geo:
|
356
362
|
latitude: -21.052337
|
@@ -408,10 +414,11 @@ MS:
|
|
408
414
|
sr_Latn: Matabelelend Jug
|
409
415
|
ccp: "\U0001111F\U00011111\U0001111D\U00011128\U00011123\U00011128\U00011123\U00011133\U00011120\U0001111A\U00011133\U00011113\U00011134
|
410
416
|
\U00011118\U00011127\U0001110A\U00011128\U0001111A\U00011134"
|
411
|
-
|
412
|
-
|
417
|
+
'no': Matabeleland South
|
418
|
+
comments:
|
419
|
+
MV:
|
413
420
|
name: Masvingo
|
414
|
-
code:
|
421
|
+
code:
|
415
422
|
unofficial_names: Masvingo
|
416
423
|
geo:
|
417
424
|
latitude: -20.074444
|
@@ -468,10 +475,11 @@ MV:
|
|
468
475
|
ceb: Masvingo Province
|
469
476
|
sr_Latn: Mašvingo
|
470
477
|
ccp: "\U0001111F\U0001110C\U00011134\U0001111E\U00011128\U00011101\U00011109\U0001112E"
|
471
|
-
|
472
|
-
|
478
|
+
'no': Masvingo
|
479
|
+
comments:
|
480
|
+
MW:
|
473
481
|
name: Mashonaland West
|
474
|
-
code:
|
482
|
+
code:
|
475
483
|
unofficial_names: Mashonaland West
|
476
484
|
geo:
|
477
485
|
latitude: -17.4851029
|
@@ -529,4 +537,5 @@ MW:
|
|
529
537
|
sr_Latn: Mašonalend Zapad
|
530
538
|
ccp: "\U0001111F\U00011125\U0001112E\U0001111A\U00011123\U00011133\U00011120\U0001111A\U00011133\U00011113\U00011134
|
531
539
|
\U0001111B\U00011127\U0001110F\U00011128\U0001111F\U00011134"
|
532
|
-
|
540
|
+
'no': Mashonaland West
|
541
|
+
comments:
|
@@ -10,8 +10,6 @@
|
|
10
10
|
# alpha2: localized_name
|
11
11
|
#
|
12
12
|
---
|
13
|
-
oc:
|
14
|
-
US: USA
|
15
13
|
ar:
|
16
14
|
PS: "فلسطين"
|
17
15
|
SA: "السعودية"
|
@@ -21,21 +19,33 @@ ar:
|
|
21
19
|
SY: "سوريا"
|
22
20
|
BQ: "بونير، سينت أوستاتيوس وسابا"
|
23
21
|
CW: "كوراساو"
|
24
|
-
|
25
|
-
|
26
|
-
zh:
|
27
|
-
KH: '柬埔寨'
|
28
|
-
zh_cn:
|
29
|
-
KH: '柬埔寨'
|
22
|
+
da:
|
23
|
+
CZ: 'Tjekkiet'
|
30
24
|
fa:
|
31
25
|
IR: "ایران"
|
32
26
|
he:
|
33
27
|
PS: "פלסטין, מדינת"
|
34
28
|
VI: "איי הבתולה (ארה)"
|
29
|
+
jp:
|
30
|
+
ES: スペイン
|
31
|
+
mk:
|
32
|
+
MK: "Северна Македонија"
|
33
|
+
nn:
|
34
|
+
PT: Portugal
|
35
|
+
oc:
|
36
|
+
US: Estats Units
|
37
|
+
UM: Islas perifericas Menores dels Estats Units
|
38
|
+
MK: Macedònia del Nòrd
|
39
|
+
pt:
|
40
|
+
CZ: 'República Checa'
|
35
41
|
sv:
|
36
42
|
GB: "Storbritannien"
|
37
43
|
RU: "Ryssland"
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
44
|
+
zh:
|
45
|
+
KH: '柬埔寨'
|
46
|
+
zh_cn:
|
47
|
+
KH: '柬埔寨'
|
48
|
+
nb:
|
49
|
+
US: USA
|
50
|
+
nn:
|
51
|
+
US: USA
|
data/lib/countries/global.rb
CHANGED
data/lib/countries/structure.rb
CHANGED
@@ -11,9 +11,7 @@ module ISO3166
|
|
11
11
|
'gec' => nil,
|
12
12
|
'geo' => {
|
13
13
|
'latitude' => nil,
|
14
|
-
'latitude_dec' => nil,
|
15
14
|
'longitude' => nil,
|
16
|
-
'longitude_dec' => nil,
|
17
15
|
'max_latitude' => nil,
|
18
16
|
'max_longitude' => nil,
|
19
17
|
'min_latitude' => nil,
|
@@ -31,7 +29,8 @@ module ISO3166
|
|
31
29
|
},
|
32
30
|
'international_prefix' => nil,
|
33
31
|
'ioc' => nil,
|
34
|
-
'
|
32
|
+
'iso_long_name' => nil,
|
33
|
+
'iso_short_name' => nil,
|
35
34
|
'national_destination_code_lengths' => [],
|
36
35
|
'national_number_lengths' => [],
|
37
36
|
'national_prefix' => nil,
|
@@ -63,9 +62,7 @@ module ISO3166
|
|
63
62
|
'translations' => {},
|
64
63
|
'geo' => {
|
65
64
|
'latitude' => nil,
|
66
|
-
'latitude_dec' => nil,
|
67
65
|
'longitude' => nil,
|
68
|
-
'longitude_dec' => nil,
|
69
66
|
'max_latitude' => nil,
|
70
67
|
'max_longitude' => nil,
|
71
68
|
'min_latitude' => nil,
|
@@ -43,7 +43,7 @@ namespace :geocode do
|
|
43
43
|
# Load unmutated yaml file.
|
44
44
|
data = load_country_yaml(country.alpha2)
|
45
45
|
|
46
|
-
next unless (result = geocode(country.
|
46
|
+
next unless (result = geocode(country.iso_short_name, {region: country.alpha2}))
|
47
47
|
puts "WARNING:: Geocoder returned something that was not a country for #{country.alpha2}" unless result.types.include?('country')
|
48
48
|
geometry = result.geometry
|
49
49
|
|
data/lib/countries/version.rb
CHANGED
data/spec/country_spec.rb
CHANGED
@@ -43,12 +43,12 @@ describe ISO3166::Country do
|
|
43
43
|
expect(country.alpha3).to eq('USA')
|
44
44
|
end
|
45
45
|
|
46
|
-
it 'should return 3166
|
47
|
-
expect(country.
|
46
|
+
it 'should return 3166 iso_short_name' do
|
47
|
+
expect(country.iso_short_name).to eq('United States of America')
|
48
48
|
end
|
49
49
|
|
50
50
|
it 'should return alternate names' do
|
51
|
-
expect(country.
|
51
|
+
expect(country.unofficial_names).to eq(['United States', 'USA', 'Murica', 'Vereinigte Staaten von Amerika', 'États-Unis', 'Estados Unidos', 'アメリカ合衆国', 'Verenigde Staten'])
|
52
52
|
end
|
53
53
|
|
54
54
|
it 'should return translations' do
|
@@ -65,15 +65,7 @@ describe ISO3166::Country do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
it 'should return bounds' do
|
68
|
-
expect(country.bounds['northeast']['lat']).to eq(71.
|
69
|
-
end
|
70
|
-
|
71
|
-
it 'should return the decimal Latitude' do
|
72
|
-
expect(country.latitude_dec).to eq('39.44325637817383')
|
73
|
-
end
|
74
|
-
|
75
|
-
it 'should return the decimal Longitude' do
|
76
|
-
expect(country.longitude_dec).to eq('-98.95733642578125')
|
68
|
+
expect(country.bounds['northeast']['lat']).to eq(71.3577635769)
|
77
69
|
end
|
78
70
|
|
79
71
|
it 'should return continent' do
|
@@ -144,7 +136,7 @@ describe ISO3166::Country do
|
|
144
136
|
before do
|
145
137
|
ISO3166::Data.register(
|
146
138
|
alpha2: 'BR2',
|
147
|
-
|
139
|
+
iso_short_name: 'Brazil',
|
148
140
|
languages_official: %w(pt-BR),
|
149
141
|
translations: {
|
150
142
|
'pt-BR' => 'Translation for pt-BR',
|
@@ -168,7 +160,7 @@ describe ISO3166::Country do
|
|
168
160
|
before do
|
169
161
|
ISO3166::Data.register(
|
170
162
|
alpha2: 'BR2',
|
171
|
-
|
163
|
+
iso_short_name: 'Brazil',
|
172
164
|
languages_official: %w(pt-BR),
|
173
165
|
translations: {
|
174
166
|
'pt' => 'Translation for pt'
|
@@ -233,11 +225,11 @@ describe ISO3166::Country do
|
|
233
225
|
end
|
234
226
|
|
235
227
|
it 'should return a hash with all sub divisions' do
|
236
|
-
expect(country.subdivisions.size).to eq(
|
228
|
+
expect(country.subdivisions.size).to eq(57)
|
237
229
|
end
|
238
230
|
|
239
231
|
it 'should be available through states' do
|
240
|
-
expect(country.states.size).to eq(
|
232
|
+
expect(country.states.size).to eq(57)
|
241
233
|
end
|
242
234
|
|
243
235
|
it 'should be a subdivision object' do
|
@@ -248,6 +240,10 @@ describe ISO3166::Country do
|
|
248
240
|
expect(virginia.name).to eq('Virginia')
|
249
241
|
end
|
250
242
|
|
243
|
+
it 'should have a code' do
|
244
|
+
expect(virginia.code).to eq('VA')
|
245
|
+
end
|
246
|
+
|
251
247
|
it 'should behave like a hash' do
|
252
248
|
expect(virginia['name']).to eq('Virginia')
|
253
249
|
end
|
@@ -319,7 +315,7 @@ describe ISO3166::Country do
|
|
319
315
|
end
|
320
316
|
|
321
317
|
it 'should allow to customize each country representation passing a block to the method' do
|
322
|
-
countries = ISO3166::Country.all { |country, data| [data['
|
318
|
+
countries = ISO3166::Country.all { |country, data| [data['iso_short_name'], country, data['country_code']] }
|
323
319
|
expect(countries).to be_an(Array)
|
324
320
|
expect(countries.first).to be_an(Array)
|
325
321
|
expect(countries.first.size).to eq(3)
|
@@ -350,7 +346,7 @@ describe ISO3166::Country do
|
|
350
346
|
before do
|
351
347
|
ISO3166::Data.register(
|
352
348
|
alpha2: 'XX',
|
353
|
-
|
349
|
+
iso_short_name: 'Custom Country',
|
354
350
|
translations: { 'en' => 'Custom Country' }
|
355
351
|
)
|
356
352
|
end
|
@@ -358,7 +354,7 @@ describe ISO3166::Country do
|
|
358
354
|
it 'should include custom registered countries' do
|
359
355
|
custom_country = ISO3166::Country.find_by_alpha2('XX')[1]
|
360
356
|
countries = ISO3166::Country.all_translated
|
361
|
-
expect(countries).to include(custom_country['
|
357
|
+
expect(countries).to include(custom_country['iso_short_name'])
|
362
358
|
end
|
363
359
|
|
364
360
|
after do
|
@@ -545,7 +541,7 @@ describe ISO3166::Country do
|
|
545
541
|
end
|
546
542
|
|
547
543
|
it 'also performs searches with regexps and forces it to ignore case' do
|
548
|
-
spain_data = ISO3166::Country.find_all_by(:
|
544
|
+
spain_data = ISO3166::Country.find_all_by(:unofficial_names, /Españ/)
|
549
545
|
expect(spain_data).to be_a Hash
|
550
546
|
expect(spain_data.keys).to eq(['ES'])
|
551
547
|
end
|
@@ -557,7 +553,7 @@ describe ISO3166::Country do
|
|
557
553
|
case lookup.length
|
558
554
|
when 2 then ISO3166::Country.find_all_by(:alpha2, lookup)
|
559
555
|
when 3 then ISO3166::Country.find_all_by(:alpha3, lookup)
|
560
|
-
else ISO3166::Country.find_all_by(:
|
556
|
+
else ISO3166::Country.find_all_by(:iso_short_name, lookup)
|
561
557
|
end
|
562
558
|
end
|
563
559
|
expect(Time.now - start).to be < 1
|
@@ -565,22 +561,22 @@ describe ISO3166::Country do
|
|
565
561
|
end
|
566
562
|
|
567
563
|
describe 'hash finder methods' do
|
568
|
-
context "when search name in '
|
569
|
-
subject { ISO3166::Country.
|
564
|
+
context "when search name in 'iso_short_name'" do
|
565
|
+
subject { ISO3166::Country.find_by_iso_short_name('Poland') }
|
570
566
|
it 'should return' do
|
571
567
|
expect(subject.first).to eq('PL')
|
572
568
|
end
|
573
569
|
end
|
574
570
|
|
575
|
-
context "when search lowercase name in '
|
576
|
-
subject { ISO3166::Country.
|
571
|
+
context "when search lowercase name in 'iso_short_name'" do
|
572
|
+
subject { ISO3166::Country.find_by_iso_short_name('poland') }
|
577
573
|
it 'should return' do
|
578
574
|
expect(subject.first).to eq('PL')
|
579
575
|
end
|
580
576
|
end
|
581
577
|
|
582
|
-
context "when search name with comma in '
|
583
|
-
subject { ISO3166::Country.
|
578
|
+
context "when search name with comma in 'iso_short_name'" do
|
579
|
+
subject { ISO3166::Country.find_by_iso_short_name(country_name) }
|
584
580
|
|
585
581
|
context 'with Republic of Korea' do
|
586
582
|
let(:country_name) { 'Korea, Republic of' }
|
@@ -605,7 +601,7 @@ describe ISO3166::Country do
|
|
605
601
|
end
|
606
602
|
|
607
603
|
context 'when search lowercase multibyte name found' do
|
608
|
-
subject { ISO3166::Country.
|
604
|
+
subject { ISO3166::Country.find_country_by_unofficial_names('россия') }
|
609
605
|
|
610
606
|
it 'should be a country instance' do
|
611
607
|
expect(subject).to be_a(ISO3166::Country)
|
@@ -614,7 +610,7 @@ describe ISO3166::Country do
|
|
614
610
|
end
|
615
611
|
|
616
612
|
context 'when search lowercase multibyte name found' do
|
617
|
-
subject { ISO3166::Country.
|
613
|
+
subject { ISO3166::Country.find_country_by_unofficial_names(/россия/) }
|
618
614
|
|
619
615
|
it 'should be a country instance' do
|
620
616
|
expect(subject).to be_a(ISO3166::Country)
|
@@ -623,7 +619,7 @@ describe ISO3166::Country do
|
|
623
619
|
end
|
624
620
|
|
625
621
|
context 'when accents are not used' do
|
626
|
-
subject { ISO3166::Country.
|
622
|
+
subject { ISO3166::Country.find_country_by_unofficial_names('emirats Arabes Unis') }
|
627
623
|
|
628
624
|
it 'should be a country instance' do
|
629
625
|
expect(subject).to be_a(ISO3166::Country)
|
@@ -631,8 +627,20 @@ describe ISO3166::Country do
|
|
631
627
|
end
|
632
628
|
end
|
633
629
|
|
634
|
-
context "when search name in '
|
635
|
-
subject { ISO3166::Country.
|
630
|
+
context "when search name in 'unofficial_names'" do
|
631
|
+
subject { ISO3166::Country.find_by_unofficial_names('Polonia') }
|
632
|
+
it 'should return' do
|
633
|
+
expect(subject.first).to eq('PL')
|
634
|
+
end
|
635
|
+
end
|
636
|
+
|
637
|
+
context "when search name in 'translated_names'" do
|
638
|
+
before do
|
639
|
+
ISO3166.configure do |config|
|
640
|
+
config.locales = [:bs]
|
641
|
+
end
|
642
|
+
end
|
643
|
+
subject { ISO3166::Country.find_by_translated_names('Poljska') }
|
636
644
|
it 'should return' do
|
637
645
|
expect(subject.first).to eq('PL')
|
638
646
|
end
|
@@ -665,7 +673,7 @@ describe ISO3166::Country do
|
|
665
673
|
|
666
674
|
describe 'country finder methods' do
|
667
675
|
context 'when search name found' do
|
668
|
-
let(:uk) { ISO3166::Country.
|
676
|
+
let(:uk) { ISO3166::Country.find_country_by_unofficial_names('United Kingdom') }
|
669
677
|
|
670
678
|
it 'should be a country instance' do
|
671
679
|
expect(uk).to be_a(ISO3166::Country)
|
@@ -674,7 +682,7 @@ describe ISO3166::Country do
|
|
674
682
|
end
|
675
683
|
|
676
684
|
context 'when search lowercase name found' do
|
677
|
-
let(:uk) { ISO3166::Country.
|
685
|
+
let(:uk) { ISO3166::Country.find_country_by_unofficial_names('united kingdom') }
|
678
686
|
|
679
687
|
it 'should be a country instance' do
|
680
688
|
expect(uk).to be_a(ISO3166::Country)
|
@@ -683,7 +691,7 @@ describe ISO3166::Country do
|
|
683
691
|
end
|
684
692
|
|
685
693
|
context 'when the search term contains comma' do
|
686
|
-
let(:korea) { ISO3166::Country.
|
694
|
+
let(:korea) { ISO3166::Country.find_country_by_unofficial_names('Korea, Republic of') }
|
687
695
|
|
688
696
|
it 'should be a country instance' do
|
689
697
|
expect(korea).to be_a(ISO3166::Country)
|
@@ -722,7 +730,7 @@ describe ISO3166::Country do
|
|
722
730
|
end
|
723
731
|
end
|
724
732
|
context 'when search name not found' do
|
725
|
-
let(:bogus) { ISO3166::Country.
|
733
|
+
let(:bogus) { ISO3166::Country.find_country_by_unofficial_names('Does not exist') }
|
726
734
|
|
727
735
|
it 'should be a country instance' do
|
728
736
|
expect(bogus).to eq(nil)
|
@@ -731,7 +739,7 @@ describe ISO3166::Country do
|
|
731
739
|
|
732
740
|
# Spot checks #243
|
733
741
|
context 'when search name not found' do
|
734
|
-
let(:belgium) { ISO3166::Country.
|
742
|
+
let(:belgium) { ISO3166::Country.find_country_by_unofficial_names('Belgium') }
|
735
743
|
|
736
744
|
it 'should be a country instance' do
|
737
745
|
expect(belgium.alpha2).to eq('BE')
|
@@ -740,7 +748,7 @@ describe ISO3166::Country do
|
|
740
748
|
|
741
749
|
# Spot checks #240
|
742
750
|
context 'when search name not found' do
|
743
|
-
let(:canada) { ISO3166::Country.
|
751
|
+
let(:canada) { ISO3166::Country.find_country_by_unofficial_names('Canada') }
|
744
752
|
|
745
753
|
it 'should be a country instance' do
|
746
754
|
expect(canada.alpha2).to eq('CA')
|
@@ -749,7 +757,7 @@ describe ISO3166::Country do
|
|
749
757
|
|
750
758
|
# Spot checks #241
|
751
759
|
context 'when search name not found' do
|
752
|
-
let(:israel) { ISO3166::Country.
|
760
|
+
let(:israel) { ISO3166::Country.find_country_by_unofficial_names('Israel') }
|
753
761
|
|
754
762
|
it 'should be a country instance' do
|
755
763
|
expect(israel.alpha2).to eq('IL')
|
@@ -758,7 +766,7 @@ describe ISO3166::Country do
|
|
758
766
|
|
759
767
|
# Spot checks #241
|
760
768
|
context 'when search name not found' do
|
761
|
-
let(:israel) { ISO3166::Country.
|
769
|
+
let(:israel) { ISO3166::Country.find_by_iso_short_name('Israel') }
|
762
770
|
|
763
771
|
it 'should be a country instance' do
|
764
772
|
expect(israel[0]).to eq('IL')
|
@@ -767,7 +775,7 @@ describe ISO3166::Country do
|
|
767
775
|
|
768
776
|
# Spot checks #241
|
769
777
|
context 'when search name not found' do
|
770
|
-
let(:israel) { ISO3166::Country.find_all_by(:
|
778
|
+
let(:israel) { ISO3166::Country.find_all_by(:iso_short_name, 'Israel') }
|
771
779
|
|
772
780
|
it 'should be a country instance' do
|
773
781
|
expect(israel.size).to eq(1)
|
@@ -800,10 +808,49 @@ describe ISO3166::Country do
|
|
800
808
|
end
|
801
809
|
end
|
802
810
|
|
811
|
+
describe 'finder methods respond_to_missing?' do
|
812
|
+
subject { ISO3166::Country.respond_to?(method_name) }
|
813
|
+
describe 'find_all_by' do
|
814
|
+
context 'find by a valid Country attribute' do
|
815
|
+
let(:method_name) { :find_all_by_currency }
|
816
|
+
it { is_expected.to be true }
|
817
|
+
end
|
818
|
+
|
819
|
+
context 'find by an invalid attribute' do
|
820
|
+
let(:method_name) { :find_all_by_invalid }
|
821
|
+
it { is_expected.to be false }
|
822
|
+
end
|
823
|
+
end
|
824
|
+
|
825
|
+
describe 'hash finder methods' do
|
826
|
+
context 'find by a valid Country attribute' do
|
827
|
+
let(:method_name) { :find_by_iso_short_name }
|
828
|
+
it { is_expected.to be true }
|
829
|
+
end
|
830
|
+
|
831
|
+
context 'find by an invalid attribute' do
|
832
|
+
let(:method_name) { :find_by_invalid }
|
833
|
+
it { is_expected.to be false }
|
834
|
+
end
|
835
|
+
end
|
836
|
+
|
837
|
+
describe 'country finder methods' do
|
838
|
+
context 'find country by a valid Country attribute' do
|
839
|
+
let(:method_name) { :find_country_by_alpha3 }
|
840
|
+
it { is_expected.to be true }
|
841
|
+
end
|
842
|
+
|
843
|
+
context 'find by an invalid attribute' do
|
844
|
+
let(:method_name) { :find_country_by_invalid }
|
845
|
+
it { is_expected.to be false }
|
846
|
+
end
|
847
|
+
end
|
848
|
+
end
|
849
|
+
|
803
850
|
describe 'names in Data' do
|
804
851
|
it 'should be unique (to allow .find_by_name work properly)' do
|
805
852
|
names = ISO3166::Data.cache.map do |_k, v|
|
806
|
-
[v['
|
853
|
+
[v['iso_short_name'], v['unofficial_names']].flatten.uniq
|
807
854
|
end.flatten
|
808
855
|
|
809
856
|
expect(names.size).to eq(names.uniq.size)
|
@@ -886,7 +933,7 @@ describe ISO3166::Country do
|
|
886
933
|
end
|
887
934
|
|
888
935
|
describe 'to_s' do
|
889
|
-
it 'should return the country
|
936
|
+
it 'should return the country iso_short_name' do
|
890
937
|
expect(ISO3166::Country.new('GB').to_s).to eq('United Kingdom of Great Britain and Northern Ireland')
|
891
938
|
end
|
892
939
|
end
|
@@ -927,30 +974,30 @@ describe ISO3166::Country do
|
|
927
974
|
|
928
975
|
describe 'Added country names to search by' do
|
929
976
|
it 'should return country code for Democratic Republic of the Congo' do
|
930
|
-
expect(ISO3166::Country.
|
977
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('Democratic Republic of the Congo').alpha2).to eq 'CD'
|
931
978
|
end
|
932
979
|
it 'should return country code for Ivory Coast' do
|
933
|
-
expect(ISO3166::Country.
|
980
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('Ivory Coast').alpha2).to eq 'CI'
|
934
981
|
end
|
935
982
|
it 'should return Pakistan code for Guinea Bissau' do
|
936
|
-
expect(ISO3166::Country.
|
983
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('Guinea Bissau').alpha2).to eq 'GW'
|
937
984
|
end
|
938
985
|
it 'should return Pakistan code for St Kitts and Nevis' do
|
939
|
-
expect(ISO3166::Country.
|
986
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('St Kitts and Nevis').alpha2).to eq 'KN'
|
940
987
|
end
|
941
988
|
it 'should return Pakistan code for St Lucia' do
|
942
|
-
expect(ISO3166::Country.
|
943
|
-
expect(ISO3166::Country.
|
989
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('St Lucia').alpha2).to eq 'LC'
|
990
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('St. Lucia').alpha2).to eq 'LC'
|
944
991
|
end
|
945
992
|
it 'should return Pakistan code for Turks and Caicos' do
|
946
|
-
expect(ISO3166::Country.
|
993
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('Turks and Caicos').alpha2).to eq 'TC'
|
947
994
|
end
|
948
995
|
it 'should return Pakistan code for St Vincent Grenadines' do
|
949
|
-
expect(ISO3166::Country.
|
950
|
-
expect(ISO3166::Country.
|
996
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('St Vincent Grenadines').alpha2).to eq 'VC'
|
997
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('St. Vincent Grenadines').alpha2).to eq 'VC'
|
951
998
|
end
|
952
999
|
it 'should return country code for Palestinian Authority' do
|
953
|
-
expect(ISO3166::Country.
|
1000
|
+
expect(ISO3166::Country.find_country_by_unofficial_names('Palestinian Authority').alpha2).to eq 'PS'
|
954
1001
|
end
|
955
1002
|
end
|
956
1003
|
|
@@ -968,4 +1015,24 @@ describe ISO3166::Country do
|
|
968
1015
|
expect(countries.all? { |country| country.un_locode.length == 2 }).to be
|
969
1016
|
end
|
970
1017
|
end
|
1018
|
+
|
1019
|
+
describe '.pluck' do
|
1020
|
+
let(:args) { [] }
|
1021
|
+
|
1022
|
+
subject { ISO3166::Country.pluck(*args) }
|
1023
|
+
|
1024
|
+
it "returns empty arrays" do
|
1025
|
+
expect(subject.first).to be_empty
|
1026
|
+
expect(subject.last).to be_empty
|
1027
|
+
end
|
1028
|
+
|
1029
|
+
context "when asking for alpha2, alpha3 and iso_short_name" do
|
1030
|
+
let(:args) { [:alpha2, :alpha3, :iso_short_name] }
|
1031
|
+
|
1032
|
+
it "returns the correct values" do
|
1033
|
+
expect(subject.first).to eq(["AD", "AND", "Andorra"])
|
1034
|
+
expect(subject.last).to eq(["ZW", "ZWE", "Zimbabwe"])
|
1035
|
+
end
|
1036
|
+
end
|
1037
|
+
end
|
971
1038
|
end
|