countries 3.0.1 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/tests.yml +37 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +104 -1
- data/Gemfile +5 -0
- data/README.markdown +51 -35
- data/Rakefile +5 -3
- data/countries.gemspec +10 -5
- 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/ar.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/be.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/bn-in.json +1 -1
- data/lib/countries/cache/locales/bn.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/cs.json +1 -1
- data/lib/countries/cache/locales/cv.json +1 -1
- data/lib/countries/cache/locales/cy.json +1 -1
- data/lib/countries/cache/locales/da.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/el.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/eu.json +1 -1
- data/lib/countries/cache/locales/fa.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/hu.json +1 -1
- data/lib/countries/cache/locales/hy.json +1 -1
- data/lib/countries/cache/locales/ia.json +1 -1
- data/lib/countries/cache/locales/id.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/it.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/ko.json +1 -1
- data/lib/countries/cache/locales/ku.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/mr.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/or.json +1 -1
- data/lib/countries/cache/locales/pa.json +1 -1
- data/lib/countries/cache/locales/pi.json +1 -1
- data/lib/countries/cache/locales/pl.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/pt.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/sq.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/tg.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/ug.json +1 -1
- data/lib/countries/cache/locales/uk.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-hk.json +1 -1
- data/lib/countries/cache/locales/zh-tw.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 +18 -4
- data/lib/countries/country.rb +5 -0
- data/lib/countries/data/countries/AD.yaml +1 -0
- data/lib/countries/data/countries/AF.yaml +1 -0
- data/lib/countries/data/countries/AG.yaml +1 -1
- data/lib/countries/data/countries/AI.yaml +1 -0
- data/lib/countries/data/countries/AL.yaml +4 -3
- data/lib/countries/data/countries/AM.yaml +3 -2
- data/lib/countries/data/countries/AO.yaml +10 -10
- data/lib/countries/data/countries/AQ.yaml +3 -3
- data/lib/countries/data/countries/AR.yaml +1 -0
- data/lib/countries/data/countries/AS.yaml +3 -2
- data/lib/countries/data/countries/AT.yaml +4 -3
- data/lib/countries/data/countries/AU.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 +5 -4
- data/lib/countries/data/countries/BB.yaml +1 -0
- data/lib/countries/data/countries/BD.yaml +3 -2
- data/lib/countries/data/countries/BE.yaml +2 -1
- data/lib/countries/data/countries/BF.yaml +8 -8
- data/lib/countries/data/countries/BG.yaml +5 -4
- data/lib/countries/data/countries/BH.yaml +6 -5
- data/lib/countries/data/countries/BI.yaml +6 -6
- data/lib/countries/data/countries/BJ.yaml +2 -2
- 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 +2 -1
- data/lib/countries/data/countries/BO.yaml +1 -1
- data/lib/countries/data/countries/BQ.yaml +1 -1
- data/lib/countries/data/countries/BR.yaml +7 -6
- data/lib/countries/data/countries/BT.yaml +7 -6
- data/lib/countries/data/countries/BV.yaml +11 -11
- data/lib/countries/data/countries/BW.yaml +4 -4
- data/lib/countries/data/countries/BY.yaml +1 -0
- data/lib/countries/data/countries/BZ.yaml +1 -1
- data/lib/countries/data/countries/CA.yaml +1 -0
- data/lib/countries/data/countries/CC.yaml +3 -2
- data/lib/countries/data/countries/CF.yaml +2 -2
- data/lib/countries/data/countries/CG.yaml +2 -2
- data/lib/countries/data/countries/CH.yaml +4 -3
- data/lib/countries/data/countries/CI.yaml +2 -2
- data/lib/countries/data/countries/CL.yaml +8 -2
- data/lib/countries/data/countries/CN.yaml +5 -4
- data/lib/countries/data/countries/CO.yaml +5 -4
- data/lib/countries/data/countries/CR.yaml +3 -2
- data/lib/countries/data/countries/CU.yaml +1 -0
- data/lib/countries/data/countries/CV.yaml +3 -2
- data/lib/countries/data/countries/CW.yaml +1 -1
- data/lib/countries/data/countries/CX.yaml +1 -0
- data/lib/countries/data/countries/CY.yaml +3 -2
- data/lib/countries/data/countries/CZ.yaml +4 -3
- data/lib/countries/data/countries/DE.yaml +3 -2
- data/lib/countries/data/countries/DJ.yaml +6 -6
- data/lib/countries/data/countries/DK.yaml +3 -2
- data/lib/countries/data/countries/DO.yaml +1 -0
- data/lib/countries/data/countries/DZ.yaml +7 -6
- data/lib/countries/data/countries/EC.yaml +5 -4
- data/lib/countries/data/countries/EE.yaml +4 -3
- data/lib/countries/data/countries/EG.yaml +1 -0
- data/lib/countries/data/countries/EH.yaml +1 -0
- data/lib/countries/data/countries/ES.yaml +2 -1
- data/lib/countries/data/countries/ET.yaml +1 -0
- data/lib/countries/data/countries/FI.yaml +6 -5
- data/lib/countries/data/countries/FK.yaml +3 -2
- data/lib/countries/data/countries/FM.yaml +3 -2
- data/lib/countries/data/countries/FO.yaml +6 -5
- data/lib/countries/data/countries/FR.yaml +4 -3
- data/lib/countries/data/countries/GA.yaml +1 -1
- data/lib/countries/data/countries/GB.yaml +4 -0
- data/lib/countries/data/countries/GE.yaml +5 -4
- data/lib/countries/data/countries/GF.yaml +1 -0
- data/lib/countries/data/countries/GG.yaml +11 -10
- data/lib/countries/data/countries/GH.yaml +4 -4
- data/lib/countries/data/countries/GI.yaml +3 -2
- data/lib/countries/data/countries/GL.yaml +8 -7
- data/lib/countries/data/countries/GM.yaml +4 -4
- data/lib/countries/data/countries/GN.yaml +4 -3
- data/lib/countries/data/countries/GP.yaml +1 -0
- data/lib/countries/data/countries/GR.yaml +3 -2
- data/lib/countries/data/countries/GS.yaml +3 -2
- data/lib/countries/data/countries/GT.yaml +3 -2
- data/lib/countries/data/countries/GU.yaml +1 -0
- data/lib/countries/data/countries/GW.yaml +1 -0
- data/lib/countries/data/countries/HK.yaml +4 -4
- data/lib/countries/data/countries/HM.yaml +2 -1
- data/lib/countries/data/countries/HN.yaml +3 -2
- data/lib/countries/data/countries/HR.yaml +4 -3
- data/lib/countries/data/countries/HT.yaml +1 -0
- data/lib/countries/data/countries/HU.yaml +8 -7
- data/lib/countries/data/countries/ID.yaml +1 -0
- data/lib/countries/data/countries/IE.yaml +12 -11
- data/lib/countries/data/countries/IL.yaml +1 -0
- data/lib/countries/data/countries/IM.yaml +9 -8
- data/lib/countries/data/countries/IN.yaml +3 -2
- data/lib/countries/data/countries/IO.yaml +4 -3
- data/lib/countries/data/countries/IQ.yaml +3 -2
- data/lib/countries/data/countries/IR.yaml +1 -0
- data/lib/countries/data/countries/IS.yaml +6 -5
- data/lib/countries/data/countries/IT.yaml +2 -1
- data/lib/countries/data/countries/JE.yaml +1 -0
- data/lib/countries/data/countries/JO.yaml +3 -2
- data/lib/countries/data/countries/JP.yaml +1 -0
- data/lib/countries/data/countries/KE.yaml +4 -3
- data/lib/countries/data/countries/KG.yaml +3 -2
- data/lib/countries/data/countries/KH.yaml +1 -0
- data/lib/countries/data/countries/KI.yaml +6 -6
- data/lib/countries/data/countries/KP.yaml +3 -2
- data/lib/countries/data/countries/KR.yaml +1 -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 +3 -2
- data/lib/countries/data/countries/LA.yaml +7 -6
- data/lib/countries/data/countries/LB.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 +7 -6
- data/lib/countries/data/countries/LU.yaml +1 -0
- data/lib/countries/data/countries/LV.yaml +11 -4
- data/lib/countries/data/countries/LY.yaml +1 -1
- data/lib/countries/data/countries/MA.yaml +5 -4
- data/lib/countries/data/countries/MC.yaml +1 -0
- data/lib/countries/data/countries/MD.yaml +9 -8
- data/lib/countries/data/countries/ME.yaml +3 -2
- 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 +3 -2
- data/lib/countries/data/countries/MK.yaml +3 -2
- data/lib/countries/data/countries/ML.yaml +4 -4
- data/lib/countries/data/countries/MM.yaml +1 -0
- data/lib/countries/data/countries/MN.yaml +9 -8
- 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 +2 -2
- data/lib/countries/data/countries/MT.yaml +3 -2
- data/lib/countries/data/countries/MU.yaml +2 -1
- data/lib/countries/data/countries/MV.yaml +3 -2
- data/lib/countries/data/countries/MW.yaml +2 -2
- data/lib/countries/data/countries/MX.yaml +5 -4
- data/lib/countries/data/countries/MY.yaml +3 -2
- data/lib/countries/data/countries/MZ.yaml +1 -0
- data/lib/countries/data/countries/NA.yaml +5 -4
- data/lib/countries/data/countries/NC.yaml +1 -0
- data/lib/countries/data/countries/NE.yaml +5 -4
- data/lib/countries/data/countries/NF.yaml +1 -0
- data/lib/countries/data/countries/NG.yaml +2 -1
- data/lib/countries/data/countries/NI.yaml +3 -2
- data/lib/countries/data/countries/NL.yaml +4 -3
- data/lib/countries/data/countries/NO.yaml +3 -2
- data/lib/countries/data/countries/NP.yaml +7 -6
- data/lib/countries/data/countries/NZ.yaml +3 -2
- data/lib/countries/data/countries/OM.yaml +3 -2
- data/lib/countries/data/countries/PA.yaml +2 -2
- data/lib/countries/data/countries/PE.yaml +5 -4
- data/lib/countries/data/countries/PF.yaml +5 -4
- data/lib/countries/data/countries/PG.yaml +1 -0
- data/lib/countries/data/countries/PH.yaml +5 -4
- data/lib/countries/data/countries/PK.yaml +5 -4
- data/lib/countries/data/countries/PL.yaml +5 -4
- 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 +9 -8
- data/lib/countries/data/countries/PS.yaml +1 -1
- data/lib/countries/data/countries/PT.yaml +6 -5
- data/lib/countries/data/countries/PW.yaml +1 -0
- data/lib/countries/data/countries/PY.yaml +3 -2
- data/lib/countries/data/countries/QA.yaml +2 -2
- data/lib/countries/data/countries/RE.yaml +1 -0
- data/lib/countries/data/countries/RO.yaml +7 -6
- data/lib/countries/data/countries/RS.yaml +1 -0
- data/lib/countries/data/countries/RU.yaml +3 -2
- data/lib/countries/data/countries/RW.yaml +2 -2
- data/lib/countries/data/countries/SA.yaml +4 -3
- data/lib/countries/data/countries/SB.yaml +1 -1
- data/lib/countries/data/countries/SC.yaml +2 -2
- data/lib/countries/data/countries/SD.yaml +3 -2
- data/lib/countries/data/countries/SE.yaml +5 -4
- data/lib/countries/data/countries/SG.yaml +1 -0
- data/lib/countries/data/countries/SH.yaml +5 -4
- data/lib/countries/data/countries/SI.yaml +5 -4
- data/lib/countries/data/countries/SJ.yaml +6 -5
- data/lib/countries/data/countries/SK.yaml +7 -6
- data/lib/countries/data/countries/SL.yaml +2 -2
- data/lib/countries/data/countries/SM.yaml +1 -0
- data/lib/countries/data/countries/SN.yaml +5 -4
- data/lib/countries/data/countries/SO.yaml +2 -1
- data/lib/countries/data/countries/SS.yaml +2 -2
- data/lib/countries/data/countries/SV.yaml +1 -0
- data/lib/countries/data/countries/SX.yaml +1 -1
- 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 -1
- data/lib/countries/data/countries/TF.yaml +5 -5
- data/lib/countries/data/countries/TG.yaml +7 -7
- data/lib/countries/data/countries/TH.yaml +3 -1
- data/lib/countries/data/countries/TJ.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/TR.yaml +1 -0
- data/lib/countries/data/countries/TV.yaml +3 -3
- data/lib/countries/data/countries/TW.yaml +1 -0
- data/lib/countries/data/countries/TZ.yaml +4 -3
- data/lib/countries/data/countries/UA.yaml +7 -6
- data/lib/countries/data/countries/UG.yaml +4 -4
- data/lib/countries/data/countries/UM.yaml +1 -0
- data/lib/countries/data/countries/US.yaml +1 -0
- data/lib/countries/data/countries/UY.yaml +3 -2
- 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 +3 -2
- data/lib/countries/data/countries/VE.yaml +3 -2
- data/lib/countries/data/countries/VG.yaml +2 -1
- data/lib/countries/data/countries/VI.yaml +1 -0
- data/lib/countries/data/countries/VN.yaml +11 -4
- data/lib/countries/data/countries/WF.yaml +1 -0
- data/lib/countries/data/countries/WS.yaml +3 -3
- data/lib/countries/data/countries/YT.yaml +1 -0
- data/lib/countries/data/countries/ZA.yaml +5 -4
- data/lib/countries/data/countries/ZM.yaml +5 -4
- data/lib/countries/data/countries/ZW.yaml +4 -4
- data/lib/countries/data/subdivisions/AD.yaml +35 -28
- data/lib/countries/data/subdivisions/AE.yaml +154 -63
- data/lib/countries/data/subdivisions/AF.yaml +605 -300
- data/lib/countries/data/subdivisions/AG.yaml +149 -67
- data/lib/countries/data/subdivisions/AI.yaml +139 -125
- data/lib/countries/data/subdivisions/AL.yaml +472 -144
- data/lib/countries/data/subdivisions/AM.yaml +236 -88
- data/lib/countries/data/subdivisions/AO.yaml +344 -144
- data/lib/countries/data/subdivisions/AR.yaml +450 -187
- data/lib/countries/data/subdivisions/AS.yaml +34 -15
- data/lib/countries/data/subdivisions/AT.yaml +202 -72
- data/lib/countries/data/subdivisions/AU.yaml +212 -64
- data/lib/countries/data/subdivisions/AW.yaml +9 -0
- data/lib/countries/data/subdivisions/AX.yaml +20 -9
- data/lib/countries/data/subdivisions/AZ.yaml +1550 -592
- data/lib/countries/data/subdivisions/BA.yaml +189 -16
- data/lib/countries/data/subdivisions/BB.yaml +190 -88
- data/lib/countries/data/subdivisions/BD.yaml +1192 -519
- data/lib/countries/data/subdivisions/BE.yaml +278 -88
- data/lib/countries/data/subdivisions/BF.yaml +993 -366
- data/lib/countries/data/subdivisions/BG.yaml +600 -219
- data/lib/countries/data/subdivisions/BH.yaml +72 -35
- data/lib/countries/data/subdivisions/BI.yaml +298 -123
- data/lib/countries/data/subdivisions/BJ.yaml +226 -96
- data/lib/countries/data/subdivisions/BL.yaml +11 -0
- data/lib/countries/data/subdivisions/BM.yaml +110 -99
- data/lib/countries/data/subdivisions/BN.yaml +63 -32
- data/lib/countries/data/subdivisions/BO.yaml +157 -72
- data/lib/countries/data/subdivisions/BQ.yaml +63 -24
- data/lib/countries/data/subdivisions/BR.yaml +689 -216
- data/lib/countries/data/subdivisions/BS.yaml +625 -108
- data/lib/countries/data/subdivisions/BT.yaml +346 -160
- data/lib/countries/data/subdivisions/BW.yaml +294 -72
- data/lib/countries/data/subdivisions/BY.yaml +140 -51
- data/lib/countries/data/subdivisions/BZ.yaml +97 -48
- data/lib/countries/data/subdivisions/CA.yaml +358 -105
- data/lib/countries/data/subdivisions/CD.yaml +451 -68
- data/lib/countries/data/subdivisions/CF.yaml +291 -136
- data/lib/countries/data/subdivisions/CG.yaml +217 -88
- data/lib/countries/data/subdivisions/CH.yaml +593 -208
- data/lib/countries/data/subdivisions/CI.yaml +431 -66
- data/lib/countries/data/subdivisions/CK.yaml +110 -99
- data/lib/countries/data/subdivisions/CL.yaml +262 -132
- data/lib/countries/data/subdivisions/CM.yaml +190 -80
- data/lib/countries/data/subdivisions/CN.yaml +725 -46
- data/lib/countries/data/subdivisions/CO.yaml +643 -264
- data/lib/countries/data/subdivisions/CP.yaml +4 -0
- data/lib/countries/data/subdivisions/CR.yaml +119 -56
- data/lib/countries/data/subdivisions/CU.yaml +268 -128
- data/lib/countries/data/subdivisions/CV.yaml +414 -126
- data/lib/countries/data/subdivisions/CW.yaml +9 -0
- data/lib/countries/data/subdivisions/CY.yaml +102 -48
- data/lib/countries/data/subdivisions/CZ.yaml +2430 -53
- data/lib/countries/data/subdivisions/DE.yaml +468 -128
- data/lib/countries/data/subdivisions/DJ.yaml +110 -48
- data/lib/countries/data/subdivisions/DK.yaml +186 -96
- data/lib/countries/data/subdivisions/DM.yaml +159 -80
- data/lib/countries/data/subdivisions/DO.yaml +660 -248
- data/lib/countries/data/subdivisions/DZ.yaml +809 -384
- data/lib/countries/data/subdivisions/EC.yaml +391 -192
- data/lib/countries/data/subdivisions/EE.yaml +543 -120
- data/lib/countries/data/subdivisions/EG.yaml +472 -216
- data/lib/countries/data/subdivisions/EH.yaml +24 -16
- data/lib/countries/data/subdivisions/ER.yaml +109 -48
- data/lib/countries/data/subdivisions/ES.yaml +1740 -437
- data/lib/countries/data/subdivisions/ET.yaml +207 -88
- data/lib/countries/data/subdivisions/FI.yaml +421 -37
- data/lib/countries/data/subdivisions/FJ.yaml +314 -40
- data/lib/countries/data/subdivisions/FM.yaml +63 -32
- data/lib/countries/data/subdivisions/FO.yaml +60 -54
- data/lib/countries/data/subdivisions/FR.yaml +2861 -922
- data/lib/countries/data/subdivisions/GA.yaml +159 -72
- data/lib/countries/data/subdivisions/GB.yaml +4979 -1771
- data/lib/countries/data/subdivisions/GD.yaml +114 -56
- data/lib/countries/data/subdivisions/GE.yaml +238 -96
- data/lib/countries/data/subdivisions/GF.yaml +11 -0
- data/lib/countries/data/subdivisions/GG.yaml +110 -99
- data/lib/countries/data/subdivisions/GH.yaml +266 -79
- data/lib/countries/data/subdivisions/GL.yaml +89 -0
- data/lib/countries/data/subdivisions/GM.yaml +124 -48
- data/lib/countries/data/subdivisions/GN.yaml +711 -274
- data/lib/countries/data/subdivisions/GP.yaml +11 -0
- data/lib/countries/data/subdivisions/GQ.yaml +143 -72
- data/lib/countries/data/subdivisions/GR.yaml +594 -165
- data/lib/countries/data/subdivisions/GT.yaml +351 -176
- data/lib/countries/data/subdivisions/GU.yaml +85 -58
- data/lib/countries/data/subdivisions/GW.yaml +192 -72
- data/lib/countries/data/subdivisions/GY.yaml +163 -80
- data/lib/countries/data/subdivisions/HK.yaml +86 -54
- data/lib/countries/data/subdivisions/HN.yaml +274 -144
- data/lib/countries/data/subdivisions/HR.yaml +429 -168
- data/lib/countries/data/subdivisions/HT.yaml +179 -72
- data/lib/countries/data/subdivisions/HU.yaml +791 -339
- data/lib/countries/data/subdivisions/IC.yaml +4 -0
- data/lib/countries/data/subdivisions/ID.yaml +2376 -1858
- data/lib/countries/data/subdivisions/IE.yaml +650 -259
- data/lib/countries/data/subdivisions/IL.yaml +114 -48
- data/lib/countries/data/subdivisions/IM.yaml +240 -216
- data/lib/countries/data/subdivisions/IN.yaml +1005 -298
- data/lib/countries/data/subdivisions/IQ.yaml +316 -139
- data/lib/countries/data/subdivisions/IR.yaml +596 -239
- data/lib/countries/data/subdivisions/IS.yaml +373 -67
- data/lib/countries/data/subdivisions/IT.yaml +2693 -880
- data/lib/countries/data/subdivisions/JE.yaml +120 -108
- data/lib/countries/data/subdivisions/JM.yaml +243 -112
- data/lib/countries/data/subdivisions/JO.yaml +193 -96
- data/lib/countries/data/subdivisions/JP.yaml +950 -376
- data/lib/countries/data/subdivisions/KE.yaml +807 -40
- data/lib/countries/data/subdivisions/KG.yaml +188 -64
- data/lib/countries/data/subdivisions/KH.yaml +437 -192
- data/lib/countries/data/subdivisions/KI.yaml +57 -24
- data/lib/countries/data/subdivisions/KM.yaml +49 -24
- data/lib/countries/data/subdivisions/KN.yaml +308 -112
- data/lib/countries/data/subdivisions/KP.yaml +365 -57
- data/lib/countries/data/subdivisions/KR.yaml +393 -128
- data/lib/countries/data/subdivisions/KW.yaml +87 -48
- data/lib/countries/data/subdivisions/KY.yaml +36 -24
- data/lib/countries/data/subdivisions/KZ.yaml +362 -135
- data/lib/countries/data/subdivisions/LA.yaml +300 -145
- data/lib/countries/data/subdivisions/LB.yaml +134 -48
- data/lib/countries/data/subdivisions/LC.yaml +166 -0
- data/lib/countries/data/subdivisions/LI.yaml +186 -88
- data/lib/countries/data/subdivisions/LK.yaml +544 -200
- data/lib/countries/data/subdivisions/LR.yaml +252 -110
- data/lib/countries/data/subdivisions/LS.yaml +149 -80
- data/lib/countries/data/subdivisions/LT.yaml +1042 -80
- data/lib/countries/data/subdivisions/LU.yaml +200 -17
- data/lib/countries/data/subdivisions/LV.yaml +2399 -223
- data/lib/countries/data/subdivisions/LY.yaml +339 -162
- data/lib/countries/data/subdivisions/MA.yaml +1443 -484
- data/lib/countries/data/subdivisions/MC.yaml +250 -0
- data/lib/countries/data/subdivisions/MD.yaml +638 -93
- data/lib/countries/data/subdivisions/ME.yaml +425 -168
- data/lib/countries/data/subdivisions/MF.yaml +9 -0
- data/lib/countries/data/subdivisions/MG.yaml +93 -48
- data/lib/countries/data/subdivisions/MH.yaml +422 -199
- data/lib/countries/data/subdivisions/MK.yaml +2972 -255
- data/lib/countries/data/subdivisions/ML.yaml +187 -71
- data/lib/countries/data/subdivisions/MM.yaml +287 -112
- data/lib/countries/data/subdivisions/MN.yaml +421 -176
- data/lib/countries/data/subdivisions/MO.yaml +9 -0
- data/lib/countries/data/subdivisions/MP.yaml +30 -12
- data/lib/countries/data/subdivisions/MQ.yaml +11 -0
- data/lib/countries/data/subdivisions/MR.yaml +245 -99
- data/lib/countries/data/subdivisions/MS.yaml +30 -27
- data/lib/countries/data/subdivisions/MT.yaml +1059 -544
- data/lib/countries/data/subdivisions/MU.yaml +317 -131
- data/lib/countries/data/subdivisions/MV.yaml +457 -163
- data/lib/countries/data/subdivisions/MW.yaml +537 -216
- data/lib/countries/data/subdivisions/MX.yaml +709 -256
- data/lib/countries/data/subdivisions/MY.yaml +336 -128
- data/lib/countries/data/subdivisions/MZ.yaml +191 -83
- data/lib/countries/data/subdivisions/NA.yaml +220 -107
- data/lib/countries/data/subdivisions/NC.yaml +26 -9
- data/lib/countries/data/subdivisions/NE.yaml +170 -64
- data/lib/countries/data/subdivisions/NG.yaml +870 -296
- data/lib/countries/data/subdivisions/NI.yaml +260 -136
- data/lib/countries/data/subdivisions/NL.yaml +381 -96
- data/lib/countries/data/subdivisions/NO.yaml +1087 -268
- data/lib/countries/data/subdivisions/NP.yaml +383 -112
- data/lib/countries/data/subdivisions/NR.yaml +260 -112
- data/lib/countries/data/subdivisions/NZ.yaml +318 -131
- data/lib/countries/data/subdivisions/OM.yaml +202 -52
- data/lib/countries/data/subdivisions/PA.yaml +203 -99
- data/lib/countries/data/subdivisions/PE.yaml +418 -208
- data/lib/countries/data/subdivisions/PF.yaml +30 -15
- data/lib/countries/data/subdivisions/PG.yaml +381 -155
- data/lib/countries/data/subdivisions/PH.yaml +1855 -662
- data/lib/countries/data/subdivisions/PK.yaml +185 -54
- data/lib/countries/data/subdivisions/PL.yaml +1176 -127
- data/lib/countries/data/subdivisions/PM.yaml +18 -6
- data/lib/countries/data/subdivisions/PR.yaml +326 -234
- data/lib/countries/data/subdivisions/PS.yaml +257 -0
- data/lib/countries/data/subdivisions/PT.yaml +342 -160
- data/lib/countries/data/subdivisions/PW.yaml +269 -128
- data/lib/countries/data/subdivisions/PY.yaml +321 -144
- data/lib/countries/data/subdivisions/QA.yaml +168 -65
- data/lib/countries/data/subdivisions/RE.yaml +11 -0
- data/lib/countries/data/subdivisions/RO.yaml +729 -336
- data/lib/countries/data/subdivisions/RS.yaml +589 -240
- data/lib/countries/data/subdivisions/RU.yaml +1875 -665
- data/lib/countries/data/subdivisions/RW.yaml +102 -40
- data/lib/countries/data/subdivisions/SA.yaml +234 -104
- data/lib/countries/data/subdivisions/SB.yaml +169 -80
- data/lib/countries/data/subdivisions/SC.yaml +462 -184
- data/lib/countries/data/subdivisions/SD.yaml +163 -22
- data/lib/countries/data/subdivisions/SE.yaml +435 -237
- data/lib/countries/data/subdivisions/SG.yaml +111 -19
- data/lib/countries/data/subdivisions/SH.yaml +67 -14
- data/lib/countries/data/subdivisions/SI.yaml +3570 -1549
- data/lib/countries/data/subdivisions/SJ.yaml +20 -18
- data/lib/countries/data/subdivisions/SK.yaml +129 -64
- data/lib/countries/data/subdivisions/SL.yaml +80 -31
- data/lib/countries/data/subdivisions/SM.yaml +159 -72
- data/lib/countries/data/subdivisions/SN.yaml +233 -88
- data/lib/countries/data/subdivisions/SO.yaml +311 -144
- data/lib/countries/data/subdivisions/SR.yaml +158 -80
- data/lib/countries/data/subdivisions/SS.yaml +196 -0
- data/lib/countries/data/subdivisions/ST.yaml +49 -16
- data/lib/countries/data/subdivisions/SV.yaml +231 -112
- data/lib/countries/data/subdivisions/SX.yaml +9 -0
- data/lib/countries/data/subdivisions/SY.yaml +220 -112
- data/lib/countries/data/subdivisions/SZ.yaml +65 -32
- data/lib/countries/data/subdivisions/TA.yaml +4 -0
- data/lib/countries/data/subdivisions/TD.yaml +409 -139
- data/lib/countries/data/subdivisions/TF.yaml +38 -20
- data/lib/countries/data/subdivisions/TG.yaml +75 -40
- data/lib/countries/data/subdivisions/TH.yaml +1451 -616
- data/lib/countries/data/subdivisions/TJ.yaml +100 -24
- data/lib/countries/data/subdivisions/TK.yaml +30 -27
- data/lib/countries/data/subdivisions/TL.yaml +209 -104
- data/lib/countries/data/subdivisions/TM.yaml +116 -40
- data/lib/countries/data/subdivisions/TN.yaml +412 -192
- data/lib/countries/data/subdivisions/TO.yaml +75 -40
- data/lib/countries/data/subdivisions/TR.yaml +1817 -648
- data/lib/countries/data/subdivisions/TT.yaml +296 -113
- data/lib/countries/data/subdivisions/TV.yaml +133 -59
- data/lib/countries/data/subdivisions/TW.yaml +481 -164
- data/lib/countries/data/subdivisions/TZ.yaml +661 -208
- data/lib/countries/data/subdivisions/UA.yaml +505 -216
- data/lib/countries/data/subdivisions/UG.yaml +2262 -640
- data/lib/countries/data/subdivisions/UM.yaml +216 -71
- data/lib/countries/data/subdivisions/US.yaml +1658 -464
- data/lib/countries/data/subdivisions/UY.yaml +367 -152
- data/lib/countries/data/subdivisions/UZ.yaml +289 -113
- data/lib/countries/data/subdivisions/VC.yaml +101 -48
- data/lib/countries/data/subdivisions/VE.yaml +456 -200
- data/lib/countries/data/subdivisions/VI.yaml +26 -9
- data/lib/countries/data/subdivisions/VN.yaml +3664 -2996
- data/lib/countries/data/subdivisions/VU.yaml +98 -48
- data/lib/countries/data/subdivisions/WF.yaml +73 -0
- data/lib/countries/data/subdivisions/WS.yaml +200 -88
- data/lib/countries/data/subdivisions/YE.yaml +375 -152
- data/lib/countries/data/subdivisions/YT.yaml +76 -51
- data/lib/countries/data/subdivisions/ZA.yaml +238 -72
- data/lib/countries/data/subdivisions/ZM.yaml +157 -72
- data/lib/countries/data/subdivisions/ZW.yaml +152 -73
- data/lib/countries/data/translation_corrections.yaml +10 -1
- data/lib/countries/data.rb +47 -18
- data/lib/countries/sources/cldr/downloader.rb +12 -13
- data/lib/countries/structure.rb +1 -0
- data/lib/countries/tasks/geocoding.rake +9 -16
- data/lib/countries/tasks/postal_codes.rake +48 -0
- data/lib/countries/translations.rb +1 -1
- data/lib/countries/version.rb +1 -1
- data/lib/countries.rb +0 -1
- data/spec/country_spec.rb +73 -2
- data/spec/data_spec.rb +4 -4
- data/spec/thread_safety_spec.rb +46 -0
- metadata +34 -26
- data/.travis.yml +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f515a372fb48e8827f4e8d961fc3711360e4211bf9a63a58f86034c6a06d909
|
4
|
+
data.tar.gz: 98550c7ff8450b2b83e4f5cdf8dc38238d9378f5b44931e2d2cbf71cf454b245
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9009d01e370ef03274d48c5ce6624099e261cb24baac0860ef4cd343d4fb650107a6cf6fff7df984ac1263e2a83e9346eb54f0df9d1f74623d3b623c6970ef18
|
7
|
+
data.tar.gz: b5ca6110f568be64317392227e4f4a01a13e57023aadf5259e77f4ca488790a0fd1776ef895373e98993da5cc9740aafea8178a5e17b289c1d30aae50364b1a7
|
@@ -0,0 +1,37 @@
|
|
1
|
+
name: Tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
paths-ignore:
|
6
|
+
- 'README.md'
|
7
|
+
push:
|
8
|
+
paths-ignore:
|
9
|
+
- 'README.md'
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
test:
|
13
|
+
runs-on: ubuntu-latest
|
14
|
+
|
15
|
+
strategy:
|
16
|
+
matrix:
|
17
|
+
include:
|
18
|
+
- ruby-version: 2.5.9
|
19
|
+
bundler-version: default
|
20
|
+
- ruby-version: 2.6.9
|
21
|
+
bundler-version: default
|
22
|
+
- ruby-version: 2.7.5
|
23
|
+
bundler-version: default
|
24
|
+
- ruby-version: 3.0.3
|
25
|
+
bundler-version: default
|
26
|
+
steps:
|
27
|
+
- uses: actions/checkout@v2
|
28
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
29
|
+
uses: ruby/setup-ruby@v1
|
30
|
+
with:
|
31
|
+
ruby-version: ${{ matrix.ruby-version }}
|
32
|
+
bundler: ${{ matrix.bundler-version }}
|
33
|
+
bundler-cache: true
|
34
|
+
- name: Install dependencies
|
35
|
+
run: bundle install
|
36
|
+
- name: Run tests
|
37
|
+
run: bundle exec rake
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,7 +2,110 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
-
## [
|
5
|
+
## [Unreleased]
|
6
|
+
|
7
|
+
## [4.1.0](https://github.com/countries/countries/releases/tag/v4.1.0) (2021/11/30 09:44 +00:00)
|
8
|
+
|
9
|
+
**New features:**
|
10
|
+
|
11
|
+
- `Country.pluck` [\#706](https://github.com/countries/countries/pull/706) ([dorianmariefr](https://github.com/dorianmariefr))
|
12
|
+
|
13
|
+
**Closed issues:**
|
14
|
+
|
15
|
+
- Ensure Moscow Oblast translations reference the "province" [\#694](https://github.com/countries/countries/pull/694) ([carlesjove](https://github.com/carlesjove))
|
16
|
+
- Update NL reduced VAT rate [\#693](https://github.com/countries/countries/pull/693) ([oscaredel](https://github.com/oscaredel))
|
17
|
+
- Serbian translation for North Macedonia is incorrect [\#703](https://github.com/countries/countries/issues/703)
|
18
|
+
|
19
|
+
**Merged pull requests:**
|
20
|
+
|
21
|
+
- Set the code when creating subdivisions [\#658](https://github.com/countries/countries/pull/658) ([IamDavidovich](https://github.com/IamDavidovich))
|
22
|
+
- Refresh subdivision data from CLDR [\#704](https://github.com/countries/countries/pull/704) ([pmor](https://github.com/pmor))
|
23
|
+
- Update I18nData gem to 0.13.1 and fix MK translation in `mk` locale [\#705](https://github.com/countries/countries/pull/705) ([pmor](https://github.com/pmor))
|
24
|
+
|
25
|
+
## [4.0.1](https://github.com/countries/countries/releases/tag/v4.0.1) (2021/07/19 14:47 +01:00)
|
26
|
+
|
27
|
+
**Closed issues:**
|
28
|
+
|
29
|
+
- ISO Country Code for Czechia/Czech Republic should be updated. [\#688](https://github.com/countries/countries/issues/688)
|
30
|
+
- Regression in 4.0.0: ISO3166::Country.translations(:en) with symbol arg raises [\#691](https://github.com/countries/countries/issues/691)
|
31
|
+
|
32
|
+
**Merged pull requests:**
|
33
|
+
|
34
|
+
- Updating Norway subdivision codes to match late 2020 ISO change [\#666](https://github.com/countries/countries/pull/666) and [\#689](https://github.com/countries/countries/pull/689) ([thomascrumrine](https://github.com/thomascrumrine))
|
35
|
+
- Update CZ.yaml: Czechia is the ISO short name for the Czech Republic [\#690](https://github.com/countries/countries/pull/690) ([pmor](https://github.com/pmor))
|
36
|
+
- Fix regression in `ISO3166::Country.translations` with symbols [\#692](https://github.com/countries/countries/pull/692) ([pmor](https://github.com/pmor))
|
37
|
+
|
38
|
+
|
39
|
+
## [4.0.0](https://github.com/countries/countries/releases/tag/v4.0.0) (2021/06/11 09:47 +01:00)
|
40
|
+
|
41
|
+
[Full changelog](https://github.com/countries/countries/compare/v3.1.0...v4.0.0)
|
42
|
+
|
43
|
+
**Closed issues:**
|
44
|
+
|
45
|
+
- update_cldr_subdivison_data Rake task broken due to CLDR repo change [\#633](https://github.com/countries/countries/issues/633)
|
46
|
+
- Fix ISO3166::Data.register loading of nested hashes (from https://github.com/countries/countries/pull/397#issuecomment-846543094)
|
47
|
+
- Angola's bounds is the same as Austria? [\#682](https://github.com/countries/countries/issues/682)
|
48
|
+
|
49
|
+
**Merged pull requests:**
|
50
|
+
|
51
|
+
- `make_cache_thread_safe` ([factorialco](https://github.com/factorialco))
|
52
|
+
- Update i18n_data to 0.13.0 and drop support for rubies <2.5 [\#650](https://github.com/countries/countries/pull/650) ([pmor](https://github.com/pmor))
|
53
|
+
- Fixes [\#633] and updates geocoder searches [\#634](https://github.com/countries/countries/pull/634) ([mezza](https://github.com/mezza))
|
54
|
+
- `translation_corrections.yaml`: Fix broken link [\#664](https://github.com/countries/countries/pull/664) ([henrik](https://github.com/henrik))
|
55
|
+
- Correct Danish translation of CZ [\#661](https://github.com/countries/countries/pull/661) ([JanMSP](https://github.com/JanMSP))
|
56
|
+
- Swedish translation correction: RU = "Ryssland" [\#665](https://github.com/countries/countries/pull/665) ([henrik](https://github.com/henrik))
|
57
|
+
- Update gemspec metadata with new repo url [\#672](https://github.com/countries/countries/pull/672) ([pmor](https://github.com/pmor))
|
58
|
+
- Fix typo and lint in README.markdown [\#675](https://github.com/countries/countries/pull/675) ([DigiPie](https://github.com/DigiPie))
|
59
|
+
- Update CI to the latests ruby point versions [\#677](https://github.com/countries/countries/pull/677) ([pmor](https://github.com/pmor))
|
60
|
+
- Adds North Korea to list of unofficial names of KP [\#681](https://github.com/countries/countries/pull/681) ([talha-akram ](https://github.com/talha-akram ))
|
61
|
+
- Update Vietnam subdivisions with current ISO_3166-2:VN [\#673](https://github.com/countries/countries/pull/673) ([keymastervn](https://github.com/keymastervn))
|
62
|
+
- Add custom countries to translation lists [\#595](https://github.com/countries/countries/pull/595) ([phylor](https://github.com/phylor))
|
63
|
+
- Fix ISO3166::Data.register loading of nested hashes, eg: geo data. [\#683](https://github.com/countries/countries/pull/683) ([pmor](https://github.com/pmor))
|
64
|
+
- Remove Travis CI configuration. [\#685](https://github.com/countries/countries/pull/683) ([pmor](https://github.com/pmor))
|
65
|
+
|
66
|
+
## [3.1.0](https://github.com/countries/countries/releases/tag/v3.1.0) (2021/03/24 00:01 +05:00)
|
67
|
+
|
68
|
+
[Full Changelog](https://github.com/countries/countries/compare/v3.0.1...v3.1.0)
|
69
|
+
|
70
|
+
**Closed issues:**
|
71
|
+
|
72
|
+
- Add timezones to country data [\#669](https://github.com/countries/countries/issues/669)
|
73
|
+
- The name for Vietnam is incorrect [\#660](https://github.com/countries/countries/issues/660)
|
74
|
+
- Missing address\_format for Vietnam [\#652](https://github.com/countries/countries/issues/652)
|
75
|
+
- Temporary German VAT rate \(16%\) from July 1st to December 31st, 2020 [\#637](https://github.com/countries/countries/issues/637)
|
76
|
+
- Armenian translations are incorrect [\#622](https://github.com/countries/countries/issues/622)
|
77
|
+
- Please cut a release [\#610](https://github.com/countries/countries/issues/610)
|
78
|
+
- Please update i18n\_data to 0.10.0 [\#607](https://github.com/countries/countries/issues/607)
|
79
|
+
- Release '3.0.0' missing some commits [\#603](https://github.com/countries/countries/issues/603)
|
80
|
+
- Please release a new version [\#591](https://github.com/countries/countries/issues/591)
|
81
|
+
- 'Portugal' is misspelled in lib/countries/cache/locales/nn.json [\#583](https://github.com/countries/countries/issues/583)
|
82
|
+
- Any interest in fiscal year data? [\#532](https://github.com/countries/countries/issues/532)
|
83
|
+
- Kosovo independent from Serbia [\#511](https://github.com/countries/countries/issues/511)
|
84
|
+
- Include country's postcode/zip format [\#366](https://github.com/countries/countries/issues/366)
|
85
|
+
|
86
|
+
**Merged pull requests:**
|
87
|
+
|
88
|
+
- add find\_all\_by example to readme [\#667](https://github.com/countries/countries/pull/667) ([glaucocustodio](https://github.com/glaucocustodio))
|
89
|
+
- Add address\_format for Vietnam, fixes [\#652] [\#653](https://github.com/countries/countries/pull/653) ([pmor](https://github.com/pmor))
|
90
|
+
- "The United Kingdom" is an unofficial name for Great Britain [\#651](https://github.com/countries/countries/pull/651) ([RogerPodacter](https://github.com/RogerPodacter))
|
91
|
+
- UK is an unofficial name for Great Britain [\#648](https://github.com/countries/countries/pull/648) ([RogerPodacter](https://github.com/RogerPodacter))
|
92
|
+
- \[French\] Bad encoding for new zealand [\#643](https://github.com/countries/countries/pull/643) ([waghanza](https://github.com/waghanza))
|
93
|
+
- Update gemspec: i18n\_data 0.11.0 [\#640](https://github.com/countries/countries/pull/640) ([masawo](https://github.com/masawo))
|
94
|
+
- Add missing Latvia address\_format template [\#639](https://github.com/countries/countries/pull/639) ([RogerPodacter](https://github.com/RogerPodacter))
|
95
|
+
- Used the common name República Checa in PT [\#635](https://github.com/countries/countries/pull/635) ([basex](https://github.com/basex))
|
96
|
+
- Fix China subdvivisions iso code see https://en.wikipedia.org/wiki/IS… [\#632](https://github.com/countries/countries/pull/632) ([daniel88m](https://github.com/daniel88m))
|
97
|
+
- Use AUD currency for Tuvalu [\#629](https://github.com/countries/countries/pull/629) ([mayrsascha](https://github.com/mayrsascha))
|
98
|
+
- Add country code 672 to HM [\#626](https://github.com/countries/countries/pull/626) ([wongyouth](https://github.com/wongyouth))
|
99
|
+
- \[GB\] Add unofficial names for ERY [\#620](https://github.com/countries/countries/pull/620) ([carlesjove](https://github.com/carlesjove))
|
100
|
+
- \[ES\] Add unofficial names + translations + remove weird characters [\#619](https://github.com/countries/countries/pull/619) ([carlesjove](https://github.com/carlesjove))
|
101
|
+
- Add data & script to update postal code & format [\#618](https://github.com/countries/countries/pull/618) ([cover](https://github.com/cover))
|
102
|
+
- Fixes failing rspec assertions after cache update [\#617](https://github.com/countries/countries/pull/617) ([rposborne](https://github.com/rposborne))
|
103
|
+
- Potential solution for thread safety [\#608](https://github.com/countries/countries/pull/608) ([hammerdr](https://github.com/hammerdr))
|
104
|
+
- Fix a typo in 'Portugal' [\#602](https://github.com/countries/countries/pull/602) ([mbirman](https://github.com/mbirman))
|
105
|
+
- added CL standard VAT [\#578](https://github.com/countries/countries/pull/578) ([tiagomatos](https://github.com/tiagomatos))
|
106
|
+
- Remove Puerto Rico subdivisions [\#539](https://github.com/countries/countries/pull/539) ([philipefarias](https://github.com/philipefarias))
|
107
|
+
|
108
|
+
## [v3.0.1](https://github.com/countries/countries/releases/tag/v3.0.1) (2020/02/11 00:04 +05:00)
|
6
109
|
|
7
110
|
[Full Changelog](https://github.com/hexorx/countries/compare/v3.0.0...v3.0.1)
|
8
111
|
|
data/Gemfile
CHANGED
data/README.markdown
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Countries is a collection of all sorts of useful information for every country in the ISO 3166 standard. It contains info for the following standards ISO3166-1 (countries), ISO3166-2 (states/subdivisions), ISO4217 (currency) and E.164 (phone numbers). I will add any country based data I can get access to. I hope this to be a repository for all country based information.
|
4
4
|
|
5
|
-
[![Gem Version](https://badge.fury.io/rb/countries.svg)](https://badge.fury.io/rb/countries) [![
|
5
|
+
[![Gem Version](https://badge.fury.io/rb/countries.svg)](https://badge.fury.io/rb/countries) [![Tests](https://github.com/countries/countries/actions/workflows/tests.yml/badge.svg)](https://github.com/countries/countries/actions/workflows/tests.yml) [![Code Climate](https://codeclimate.com/github/hexorx/countries.svg)](https://codeclimate.com/github/hexorx/countries)
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
9
|
-
```
|
9
|
+
```bash
|
10
10
|
gem install countries
|
11
11
|
```
|
12
12
|
|
@@ -24,17 +24,18 @@ And then execute:
|
|
24
24
|
|
25
25
|
Simply load a new country object using Country.new(*alpha2*) or the shortcut Country[*alpha2*]. An example works best.
|
26
26
|
|
27
|
-
```
|
27
|
+
```ruby
|
28
28
|
c = ISO3166::Country.new('US')
|
29
29
|
```
|
30
30
|
|
31
31
|
## Configuration
|
32
32
|
|
33
|
-
|
33
|
+
### Country Helper
|
34
|
+
|
34
35
|
Some apps might not want to constantly call `ISO3166::Country` this gem has a
|
35
36
|
helper that can provide a `Country` class
|
36
37
|
|
37
|
-
```
|
38
|
+
```ruby
|
38
39
|
# With global Country Helper
|
39
40
|
c = Country['US']
|
40
41
|
```
|
@@ -43,21 +44,22 @@ c = Country['US']
|
|
43
44
|
|
44
45
|
To Use
|
45
46
|
|
46
|
-
```
|
47
|
+
```ruby
|
47
48
|
gem 'countries', require: 'countries/global'
|
48
49
|
```
|
49
50
|
|
50
51
|
## Upgrading to 3.x
|
51
52
|
|
52
|
-
We dropped currency support via money by default,
|
53
|
+
We dropped currency support via money by default, read these [instructions](README.markdown#Currencies) if you are using currency features.
|
53
54
|
|
54
55
|
## Upgrading Country Helper to > 1.2.0
|
55
|
-
|
56
|
+
|
57
|
+
```ruby
|
56
58
|
gem 'countries', require: 'global'
|
57
59
|
```
|
58
60
|
|
59
61
|
has become
|
60
|
-
```
|
62
|
+
```ruby
|
61
63
|
gem 'countries', require: 'countries/global'
|
62
64
|
```
|
63
65
|
|
@@ -69,14 +71,14 @@ By default we load I18n.available_locales if I18n is present, otherwise only [:e
|
|
69
71
|
|
70
72
|
You can add all the locales like this.
|
71
73
|
|
72
|
-
```
|
74
|
+
```ruby
|
73
75
|
ISO3166.configure do |config|
|
74
76
|
config.locales = [:af, :am, :ar, :as, :az, :be, :bg, :bn, :br, :bs, :ca, :cs, :cy, :da, :de, :dz, :el, :en, :eo, :es, :et, :eu, :fa, :fi, :fo, :fr, :ga, :gl, :gu, :he, :hi, :hr, :hu, :hy, :ia, :id, :is, :it, :ja, :ka, :kk, :km, :kn, :ko, :ku, :lt, :lv, :mi, :mk, :ml, :mn, :mr, :ms, :mt, :nb, :ne, :nl, :nn, :oc, :or, :pa, :pl, :ps, :pt, :ro, :ru, :rw, :si, :sk, :sl, :so, :sq, :sr, :sv, :sw, :ta, :te, :th, :ti, :tk, :tl, :tr, :tt, :ug, :uk, :ve, :vi, :wa, :wo, :xh, :zh, :zu]
|
75
77
|
end
|
76
78
|
```
|
77
79
|
|
78
80
|
or something a bit more simple
|
79
|
-
```
|
81
|
+
```ruby
|
80
82
|
ISO3166.configure do |config|
|
81
83
|
config.locales = [:en, :de, :fr, :es]
|
82
84
|
end
|
@@ -86,8 +88,9 @@ end
|
|
86
88
|
|
87
89
|
You can lookup a country or an array of countries using any of the data attributes via the find\_country\_by_*attribute* dynamic methods:
|
88
90
|
|
89
|
-
```
|
91
|
+
```ruby
|
90
92
|
c = ISO3166::Country.find_country_by_name('united states')
|
93
|
+
h = ISO3166::Country.find_all_by(:translated_names, 'França')
|
91
94
|
list = ISO3166::Country.find_all_countries_by_region('Americas')
|
92
95
|
c = ISO3166::Country.find_country_by_alpha3('can')
|
93
96
|
```
|
@@ -106,7 +109,7 @@ c.alpha3 # => "USA"
|
|
106
109
|
c.gec # => "US"
|
107
110
|
```
|
108
111
|
|
109
|
-
###
|
112
|
+
### Names & Translations
|
110
113
|
|
111
114
|
```ruby
|
112
115
|
c.name # => "United States"
|
@@ -129,14 +132,14 @@ ISO3166::Country.all_translated('DE') # ['Deutschland', ...]
|
|
129
132
|
|
130
133
|
### Subdivisions & States
|
131
134
|
|
132
|
-
```
|
135
|
+
```ruby
|
133
136
|
c.subdivisions # => {"CO" => {"name" => "Colorado", "names" => "Colorado"}, ... }
|
134
137
|
c.states # => {"CO" => {"name" => "Colorado", "names" => "Colorado"}, ... }
|
135
138
|
```
|
136
139
|
|
137
140
|
### Location
|
138
141
|
|
139
|
-
```
|
142
|
+
```ruby
|
140
143
|
c.latitude # => "38 00 N"
|
141
144
|
c.longitude # => "97 00 W"
|
142
145
|
c.latitude_dec # => 39.44325637817383
|
@@ -154,7 +157,7 @@ Add `tzinfo` to your Gemfile and ensure it's required, Countries will not do thi
|
|
154
157
|
gem 'tzinfo', '~> 1.2', '>= 1.2.2'
|
155
158
|
```
|
156
159
|
|
157
|
-
```
|
160
|
+
```ruby
|
158
161
|
c.timezones.zone_identifiers # => ["America/New_York", "America/Detroit", "America/Kentucky/Louisville", ...]
|
159
162
|
c.timezones.zone_info # see [tzinfo docs]( http://www.rubydoc.info/gems/tzinfo/TZInfo/CountryInfo)
|
160
163
|
c.timezones # see [tzinfo docs]( http://www.rubydoc.info/gems/tzinfo/TZInfo/Country)
|
@@ -162,7 +165,7 @@ c.timezones # see [tzinfo docs]( http://www.rubydoc.info/gems/tzinfo/TZInfo/Coun
|
|
162
165
|
|
163
166
|
### Telephone Routing (E164)
|
164
167
|
|
165
|
-
```
|
168
|
+
```ruby
|
166
169
|
c.country_code # => "1"
|
167
170
|
c.national_destination_code_lengths # => 3
|
168
171
|
c.national_number_lengths # => 10
|
@@ -172,7 +175,7 @@ c.national_prefix # => "1"
|
|
172
175
|
|
173
176
|
### Boundary Boxes
|
174
177
|
|
175
|
-
```
|
178
|
+
```ruby
|
176
179
|
c.min_longitude # => '45'
|
177
180
|
c.min_latitude # => '22.166667'
|
178
181
|
c.max_longitude # => '58'
|
@@ -181,21 +184,40 @@ c.max_latitude # => '26.133333'
|
|
181
184
|
|
182
185
|
### European Union Membership
|
183
186
|
|
184
|
-
```
|
187
|
+
```ruby
|
185
188
|
c.in_eu? # => false
|
186
189
|
```
|
187
190
|
|
191
|
+
### European Economic Area Membership
|
192
|
+
|
193
|
+
```ruby
|
194
|
+
c.in_eea? # => false
|
195
|
+
```
|
196
|
+
|
197
|
+
|
198
|
+
### European Single Market Membership
|
199
|
+
|
200
|
+
```ruby
|
201
|
+
c.in_esm? # => false
|
202
|
+
```
|
203
|
+
|
204
|
+
### Plucking multiple attributes
|
205
|
+
|
206
|
+
```ruby
|
207
|
+
ISO3166::Country.pluck(:alpha2, :name) # => [["AD", "Andorra"], ["AE", "United Arab Emirates"], ...
|
208
|
+
```
|
209
|
+
|
188
210
|
## Currencies
|
189
211
|
|
190
212
|
To enable currencies extension please add the following to countries initializer.
|
191
213
|
|
192
|
-
```
|
214
|
+
```ruby
|
193
215
|
ISO3166.configuration.enable_currency_extension!
|
194
216
|
```
|
195
217
|
|
196
218
|
Please note that it requires you to add "money" dependency to your gemfile.
|
197
219
|
|
198
|
-
```
|
220
|
+
```ruby
|
199
221
|
gem "money", "~> 6.9"
|
200
222
|
```
|
201
223
|
|
@@ -203,7 +225,7 @@ gem "money", "~> 6.9"
|
|
203
225
|
|
204
226
|
Countries now uses the [Money](https://github.com/RubyMoney/money) gem. What this means is you now get back a Money::Currency object that gives you access to all the currency information.
|
205
227
|
|
206
|
-
```
|
228
|
+
```ruby
|
207
229
|
c = ISO3166::Country['us']
|
208
230
|
c.currency.iso_code # => 'USD'
|
209
231
|
c.currency.name # => 'United States Dollar'
|
@@ -212,9 +234,9 @@ c.currency.symbol # => '$'
|
|
212
234
|
|
213
235
|
## Address Formatting
|
214
236
|
|
215
|
-
A template for formatting addresses is available through the address_format method. These templates are compatible with the [Liquid]
|
237
|
+
A template for formatting addresses is available through the address_format method. These templates are compatible with the [Liquid](http://www.liquidmarkup.org/) template system.
|
216
238
|
|
217
|
-
```
|
239
|
+
```ruby
|
218
240
|
c.address_format # => "{{recipient}}\n{{street}}\n{{city}} {{region}} {{postalcode}}\n{{country}}"
|
219
241
|
```
|
220
242
|
|
@@ -224,7 +246,7 @@ As of 2.0 countries supports loading custom countries / overriding data in its d
|
|
224
246
|
|
225
247
|
Any country registered this way will have its data available for searching etc... If you are overriding an existing country, for cultural reasons, our code uses a simple merge, not a deep merge so you will need to __bring in all data you wish to be available__. Bringing in an existing country will also remove it from the internal management of translations, __all registered countries will remain in memory__.
|
226
248
|
|
227
|
-
```
|
249
|
+
```ruby
|
228
250
|
ISO3166::Data.register(
|
229
251
|
alpha2: 'LOL',
|
230
252
|
name: 'Happy Country',
|
@@ -260,6 +282,7 @@ british_things.first.country.name # => "United Kingdom"
|
|
260
282
|
british_things = Things.where(country: Country.find_by_name('United Kingdom')[1])
|
261
283
|
british_things.first.country.name # => "United Kingdom"
|
262
284
|
```
|
285
|
+
|
263
286
|
Saving:
|
264
287
|
|
265
288
|
```ruby
|
@@ -276,7 +299,7 @@ british_thing.country.name # => "United Kingdom"
|
|
276
299
|
|
277
300
|
Note that the database stores only the alpha2 code and rebuilds the object when queried. To return the country name by default you can override the reader method in your model:
|
278
301
|
|
279
|
-
```
|
302
|
+
```ruby
|
280
303
|
def country
|
281
304
|
super.name
|
282
305
|
end
|
@@ -284,7 +307,7 @@ end
|
|
284
307
|
|
285
308
|
## Country Code in Emoji
|
286
309
|
|
287
|
-
```
|
310
|
+
```ruby
|
288
311
|
c = Country['MY']
|
289
312
|
c.emoji_flag # => "🇲🇾"
|
290
313
|
```
|
@@ -307,7 +330,7 @@ If you need to correct an upstream translation please add it to the lib/countrie
|
|
307
330
|
```
|
308
331
|
|
309
332
|
Any corrections can be applied in translations_corrections.yaml these will be injected during
|
310
|
-
the next
|
333
|
+
the next `rake update_cache`.
|
311
334
|
|
312
335
|
* Fork the project.
|
313
336
|
* Make your feature addition or bug fix.
|
@@ -322,10 +345,3 @@ the next ```rake update_cache```
|
|
322
345
|
|
323
346
|
Copyright (c) 2016 hexorx. See LICENSE for details.
|
324
347
|
|
325
|
-
[Teliax]: http://teliax.com
|
326
|
-
[Centrex]: http://en.wikipedia.org/wiki/Centrex
|
327
|
-
[CommonDataHub]: http://commondatahub.com
|
328
|
-
[Currencies]: http://gemcutter.org/gems/currencies
|
329
|
-
[Money]: http://gemcutter.org/gems/money
|
330
|
-
[Liquid]: http://www.liquidmarkup.org/
|
331
|
-
[country_select]: https://github.com/stefanpenner/country_select
|
data/Rakefile
CHANGED
@@ -3,8 +3,13 @@ require 'bundler/gem_tasks'
|
|
3
3
|
|
4
4
|
require 'rake'
|
5
5
|
require 'rspec/core/rake_task'
|
6
|
+
require 'yaml'
|
6
7
|
|
7
8
|
ISO3166_ROOT_PATH = File.dirname(__FILE__)
|
9
|
+
|
10
|
+
# Enter your API Key enabled for Geocoding API and Places API
|
11
|
+
GOOGLE_API_KEY = 'ENTER API KEY'
|
12
|
+
|
8
13
|
Dir.glob('lib/countries/tasks/*.rake').each { |r| load r }
|
9
14
|
|
10
15
|
desc 'Run all examples'
|
@@ -15,9 +20,6 @@ end
|
|
15
20
|
task default: [:spec]
|
16
21
|
|
17
22
|
task :update_yaml_structure do
|
18
|
-
require 'yaml'
|
19
|
-
|
20
|
-
require 'pry'
|
21
23
|
|
22
24
|
d = Dir['lib/countries/data/subdivisions/*.yaml']
|
23
25
|
d.each do |file|
|
data/countries.gemspec
CHANGED
@@ -2,11 +2,15 @@
|
|
2
2
|
require File.expand_path('../lib/countries/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = ['Josh Robinson', 'Joe Corcoran', 'Russell Osborne']
|
6
|
-
gem.email = ['hexorx@gmail.com', 'russell@burningpony.com']
|
5
|
+
gem.authors = ['Josh Robinson', 'Joe Corcoran', 'Russell Osborne', 'Pedro Moreira']
|
6
|
+
gem.email = ['hexorx@gmail.com', 'russell@burningpony.com', 'pedro@codecreations.tech']
|
7
7
|
gem.description = 'All sorts of useful information about every country packaged as pretty little country objects. It includes data from ISO 3166'
|
8
8
|
gem.summary = 'Gives you a country object full of all sorts of useful information.'
|
9
|
-
gem.homepage = 'http://github.com/
|
9
|
+
gem.homepage = 'http://github.com/countries/countries'
|
10
|
+
gem.metadata = { 'bug_tracker_uri' => 'http://github.com/countries/countries/issues',
|
11
|
+
'changelog_uri' => 'https://github.com/countries/countries/blob/master/CHANGELOG.md',
|
12
|
+
'source_code_uri' => 'https://github.com/countries/countries',
|
13
|
+
'wiki_uri' => 'https://github.com/countries/countries/wiki'}
|
10
14
|
|
11
15
|
gem.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
|
12
16
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
@@ -15,8 +19,9 @@ Gem::Specification.new do |gem|
|
|
15
19
|
gem.version = Countries::VERSION.dup
|
16
20
|
gem.license = 'MIT'
|
17
21
|
|
18
|
-
gem.
|
19
|
-
|
22
|
+
gem.required_ruby_version = '>= 2.5'
|
23
|
+
|
24
|
+
gem.add_dependency('i18n_data', '~> 0.13.1')
|
20
25
|
gem.add_dependency('sixarm_ruby_unaccent', '~> 1.1')
|
21
26
|
gem.add_development_dependency('rspec', '>= 3')
|
22
27
|
gem.add_development_dependency('activesupport', '>= 3')
|