countries 3.0.0 → 4.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (615) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +37 -0
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +122 -0
  5. data/Gemfile +5 -0
  6. data/README.markdown +50 -40
  7. data/Rakefile +8 -5
  8. data/countries.gemspec +10 -6
  9. data/lib/countries.rb +0 -1
  10. data/lib/countries/cache/countries.json +1 -1
  11. data/lib/countries/cache/locales/ab.json +1 -0
  12. data/lib/countries/cache/locales/af.json +1 -1
  13. data/lib/countries/cache/locales/ak.json +1 -0
  14. data/lib/countries/cache/locales/am.json +1 -1
  15. data/lib/countries/cache/locales/an.json +1 -0
  16. data/lib/countries/cache/locales/ar.json +1 -1
  17. data/lib/countries/cache/locales/as.json +1 -1
  18. data/lib/countries/cache/locales/ay.json +1 -0
  19. data/lib/countries/cache/locales/az.json +1 -1
  20. data/lib/countries/cache/locales/ba.json +1 -0
  21. data/lib/countries/cache/locales/be.json +1 -1
  22. data/lib/countries/cache/locales/bg.json +1 -1
  23. data/lib/countries/cache/locales/bi.json +1 -0
  24. data/lib/countries/cache/locales/bn-in.json +1 -0
  25. data/lib/countries/cache/locales/bn.json +1 -1
  26. data/lib/countries/cache/locales/br.json +1 -1
  27. data/lib/countries/cache/locales/bs.json +1 -1
  28. data/lib/countries/cache/locales/ca.json +1 -1
  29. data/lib/countries/cache/locales/ce.json +1 -0
  30. data/lib/countries/cache/locales/ch.json +1 -0
  31. data/lib/countries/cache/locales/cs.json +1 -1
  32. data/lib/countries/cache/locales/cv.json +1 -0
  33. data/lib/countries/cache/locales/cy.json +1 -1
  34. data/lib/countries/cache/locales/da.json +1 -1
  35. data/lib/countries/cache/locales/de.json +1 -1
  36. data/lib/countries/cache/locales/dv.json +1 -0
  37. data/lib/countries/cache/locales/dz.json +1 -1
  38. data/lib/countries/cache/locales/ee.json +1 -0
  39. data/lib/countries/cache/locales/el.json +1 -1
  40. data/lib/countries/cache/locales/en.json +1 -1
  41. data/lib/countries/cache/locales/eo.json +1 -1
  42. data/lib/countries/cache/locales/es.json +1 -1
  43. data/lib/countries/cache/locales/et.json +1 -1
  44. data/lib/countries/cache/locales/eu.json +1 -1
  45. data/lib/countries/cache/locales/fa.json +1 -1
  46. data/lib/countries/cache/locales/ff.json +1 -0
  47. data/lib/countries/cache/locales/fi.json +1 -1
  48. data/lib/countries/cache/locales/fo.json +1 -1
  49. data/lib/countries/cache/locales/fr.json +1 -1
  50. data/lib/countries/cache/locales/fy.json +1 -0
  51. data/lib/countries/cache/locales/ga.json +1 -1
  52. data/lib/countries/cache/locales/gl.json +1 -1
  53. data/lib/countries/cache/locales/gn.json +1 -0
  54. data/lib/countries/cache/locales/gu.json +1 -1
  55. data/lib/countries/cache/locales/gv.json +1 -0
  56. data/lib/countries/cache/locales/ha.json +1 -0
  57. data/lib/countries/cache/locales/he.json +1 -1
  58. data/lib/countries/cache/locales/hi.json +1 -1
  59. data/lib/countries/cache/locales/hr.json +1 -1
  60. data/lib/countries/cache/locales/ht.json +1 -0
  61. data/lib/countries/cache/locales/hu.json +1 -1
  62. data/lib/countries/cache/locales/hy.json +1 -1
  63. data/lib/countries/cache/locales/ia.json +1 -1
  64. data/lib/countries/cache/locales/id.json +1 -1
  65. data/lib/countries/cache/locales/io.json +1 -0
  66. data/lib/countries/cache/locales/is.json +1 -1
  67. data/lib/countries/cache/locales/it.json +1 -1
  68. data/lib/countries/cache/locales/iu.json +1 -0
  69. data/lib/countries/cache/locales/ja.json +1 -1
  70. data/lib/countries/cache/locales/ka.json +1 -1
  71. data/lib/countries/cache/locales/ki.json +1 -0
  72. data/lib/countries/cache/locales/kk.json +1 -1
  73. data/lib/countries/cache/locales/kl.json +1 -0
  74. data/lib/countries/cache/locales/km.json +1 -1
  75. data/lib/countries/cache/locales/kn.json +1 -1
  76. data/lib/countries/cache/locales/ko.json +1 -1
  77. data/lib/countries/cache/locales/ku.json +1 -1
  78. data/lib/countries/cache/locales/kv.json +1 -0
  79. data/lib/countries/cache/locales/kw.json +1 -0
  80. data/lib/countries/cache/locales/ky.json +1 -0
  81. data/lib/countries/cache/locales/lo.json +1 -0
  82. data/lib/countries/cache/locales/lt.json +1 -1
  83. data/lib/countries/cache/locales/lv.json +1 -1
  84. data/lib/countries/cache/locales/mi.json +1 -1
  85. data/lib/countries/cache/locales/mk.json +1 -1
  86. data/lib/countries/cache/locales/ml.json +1 -1
  87. data/lib/countries/cache/locales/mn.json +1 -1
  88. data/lib/countries/cache/locales/mr.json +1 -1
  89. data/lib/countries/cache/locales/ms.json +1 -1
  90. data/lib/countries/cache/locales/mt.json +1 -1
  91. data/lib/countries/cache/locales/my.json +1 -0
  92. data/lib/countries/cache/locales/na.json +1 -0
  93. data/lib/countries/cache/locales/nb.json +1 -1
  94. data/lib/countries/cache/locales/ne.json +1 -1
  95. data/lib/countries/cache/locales/nl.json +1 -1
  96. data/lib/countries/cache/locales/nn.json +1 -1
  97. data/lib/countries/cache/locales/nv.json +1 -0
  98. data/lib/countries/cache/locales/oc.json +1 -1
  99. data/lib/countries/cache/locales/or.json +1 -1
  100. data/lib/countries/cache/locales/pa.json +1 -1
  101. data/lib/countries/cache/locales/pi.json +1 -0
  102. data/lib/countries/cache/locales/pl.json +1 -1
  103. data/lib/countries/cache/locales/ps.json +1 -1
  104. data/lib/countries/cache/locales/pt-br.json +1 -0
  105. data/lib/countries/cache/locales/pt.json +1 -1
  106. data/lib/countries/cache/locales/ro.json +1 -1
  107. data/lib/countries/cache/locales/ru.json +1 -1
  108. data/lib/countries/cache/locales/rw.json +1 -1
  109. data/lib/countries/cache/locales/sc.json +1 -0
  110. data/lib/countries/cache/locales/sd.json +1 -0
  111. data/lib/countries/cache/locales/si.json +1 -1
  112. data/lib/countries/cache/locales/sk.json +1 -1
  113. data/lib/countries/cache/locales/sl.json +1 -1
  114. data/lib/countries/cache/locales/so.json +1 -1
  115. data/lib/countries/cache/locales/sq.json +1 -1
  116. data/lib/countries/cache/locales/sr.json +1 -1
  117. data/lib/countries/cache/locales/sv.json +1 -1
  118. data/lib/countries/cache/locales/sw.json +1 -1
  119. data/lib/countries/cache/locales/ta.json +1 -1
  120. data/lib/countries/cache/locales/te.json +1 -1
  121. data/lib/countries/cache/locales/tg.json +1 -0
  122. data/lib/countries/cache/locales/th.json +1 -1
  123. data/lib/countries/cache/locales/ti.json +1 -1
  124. data/lib/countries/cache/locales/tk.json +1 -1
  125. data/lib/countries/cache/locales/tl.json +1 -1
  126. data/lib/countries/cache/locales/tr.json +1 -1
  127. data/lib/countries/cache/locales/tt.json +1 -1
  128. data/lib/countries/cache/locales/ug.json +1 -1
  129. data/lib/countries/cache/locales/uk.json +1 -1
  130. data/lib/countries/cache/locales/ur.json +1 -0
  131. data/lib/countries/cache/locales/uz.json +1 -0
  132. data/lib/countries/cache/locales/ve.json +1 -1
  133. data/lib/countries/cache/locales/vi.json +1 -1
  134. data/lib/countries/cache/locales/wa.json +1 -1
  135. data/lib/countries/cache/locales/wo.json +1 -1
  136. data/lib/countries/cache/locales/xh.json +1 -1
  137. data/lib/countries/cache/locales/yo.json +1 -0
  138. data/lib/countries/cache/locales/zh-cn.json +1 -0
  139. data/lib/countries/cache/locales/zh-hk.json +1 -0
  140. data/lib/countries/cache/locales/zh-tw.json +1 -0
  141. data/lib/countries/cache/locales/zh.json +1 -1
  142. data/lib/countries/cache/locales/zu.json +1 -1
  143. data/lib/countries/country.rb +5 -0
  144. data/lib/countries/country/class_methods.rb +30 -3
  145. data/lib/countries/data.rb +47 -18
  146. data/lib/countries/data/countries/AD.yaml +1 -0
  147. data/lib/countries/data/countries/AF.yaml +1 -0
  148. data/lib/countries/data/countries/AG.yaml +1 -1
  149. data/lib/countries/data/countries/AI.yaml +1 -0
  150. data/lib/countries/data/countries/AL.yaml +4 -3
  151. data/lib/countries/data/countries/AM.yaml +3 -2
  152. data/lib/countries/data/countries/AO.yaml +10 -10
  153. data/lib/countries/data/countries/AQ.yaml +3 -3
  154. data/lib/countries/data/countries/AR.yaml +1 -0
  155. data/lib/countries/data/countries/AS.yaml +3 -2
  156. data/lib/countries/data/countries/AT.yaml +4 -3
  157. data/lib/countries/data/countries/AU.yaml +1 -0
  158. data/lib/countries/data/countries/AX.yaml +1 -0
  159. data/lib/countries/data/countries/AZ.yaml +1 -0
  160. data/lib/countries/data/countries/BA.yaml +5 -4
  161. data/lib/countries/data/countries/BB.yaml +1 -0
  162. data/lib/countries/data/countries/BD.yaml +3 -2
  163. data/lib/countries/data/countries/BE.yaml +2 -1
  164. data/lib/countries/data/countries/BF.yaml +8 -8
  165. data/lib/countries/data/countries/BG.yaml +5 -4
  166. data/lib/countries/data/countries/BH.yaml +6 -5
  167. data/lib/countries/data/countries/BI.yaml +6 -6
  168. data/lib/countries/data/countries/BJ.yaml +2 -2
  169. data/lib/countries/data/countries/BL.yaml +1 -0
  170. data/lib/countries/data/countries/BM.yaml +1 -0
  171. data/lib/countries/data/countries/BN.yaml +2 -1
  172. data/lib/countries/data/countries/BO.yaml +1 -1
  173. data/lib/countries/data/countries/BQ.yaml +1 -1
  174. data/lib/countries/data/countries/BR.yaml +7 -6
  175. data/lib/countries/data/countries/BT.yaml +7 -6
  176. data/lib/countries/data/countries/BV.yaml +11 -11
  177. data/lib/countries/data/countries/BW.yaml +4 -4
  178. data/lib/countries/data/countries/BY.yaml +1 -0
  179. data/lib/countries/data/countries/BZ.yaml +1 -1
  180. data/lib/countries/data/countries/CA.yaml +1 -0
  181. data/lib/countries/data/countries/CC.yaml +3 -2
  182. data/lib/countries/data/countries/CF.yaml +2 -2
  183. data/lib/countries/data/countries/CG.yaml +2 -2
  184. data/lib/countries/data/countries/CH.yaml +4 -3
  185. data/lib/countries/data/countries/CI.yaml +2 -2
  186. data/lib/countries/data/countries/CL.yaml +8 -2
  187. data/lib/countries/data/countries/CN.yaml +5 -4
  188. data/lib/countries/data/countries/CO.yaml +5 -4
  189. data/lib/countries/data/countries/CR.yaml +3 -2
  190. data/lib/countries/data/countries/CU.yaml +1 -0
  191. data/lib/countries/data/countries/CV.yaml +3 -2
  192. data/lib/countries/data/countries/CW.yaml +1 -1
  193. data/lib/countries/data/countries/CX.yaml +1 -0
  194. data/lib/countries/data/countries/CY.yaml +3 -2
  195. data/lib/countries/data/countries/CZ.yaml +5 -3
  196. data/lib/countries/data/countries/DE.yaml +3 -2
  197. data/lib/countries/data/countries/DJ.yaml +6 -6
  198. data/lib/countries/data/countries/DK.yaml +3 -2
  199. data/lib/countries/data/countries/DO.yaml +1 -0
  200. data/lib/countries/data/countries/DZ.yaml +7 -6
  201. data/lib/countries/data/countries/EC.yaml +5 -4
  202. data/lib/countries/data/countries/EE.yaml +4 -3
  203. data/lib/countries/data/countries/EG.yaml +1 -0
  204. data/lib/countries/data/countries/EH.yaml +1 -0
  205. data/lib/countries/data/countries/ES.yaml +2 -1
  206. data/lib/countries/data/countries/ET.yaml +1 -0
  207. data/lib/countries/data/countries/FI.yaml +6 -5
  208. data/lib/countries/data/countries/FK.yaml +3 -2
  209. data/lib/countries/data/countries/FM.yaml +3 -2
  210. data/lib/countries/data/countries/FO.yaml +6 -5
  211. data/lib/countries/data/countries/FR.yaml +4 -3
  212. data/lib/countries/data/countries/GA.yaml +1 -1
  213. data/lib/countries/data/countries/GB.yaml +6 -2
  214. data/lib/countries/data/countries/GE.yaml +5 -4
  215. data/lib/countries/data/countries/GF.yaml +1 -0
  216. data/lib/countries/data/countries/GG.yaml +11 -10
  217. data/lib/countries/data/countries/GH.yaml +4 -4
  218. data/lib/countries/data/countries/GI.yaml +3 -2
  219. data/lib/countries/data/countries/GL.yaml +8 -7
  220. data/lib/countries/data/countries/GM.yaml +4 -4
  221. data/lib/countries/data/countries/GN.yaml +4 -3
  222. data/lib/countries/data/countries/GP.yaml +1 -0
  223. data/lib/countries/data/countries/GR.yaml +3 -2
  224. data/lib/countries/data/countries/GS.yaml +3 -2
  225. data/lib/countries/data/countries/GT.yaml +3 -2
  226. data/lib/countries/data/countries/GU.yaml +1 -0
  227. data/lib/countries/data/countries/GW.yaml +1 -0
  228. data/lib/countries/data/countries/HK.yaml +4 -4
  229. data/lib/countries/data/countries/HM.yaml +2 -1
  230. data/lib/countries/data/countries/HN.yaml +3 -2
  231. data/lib/countries/data/countries/HR.yaml +4 -3
  232. data/lib/countries/data/countries/HT.yaml +1 -0
  233. data/lib/countries/data/countries/HU.yaml +8 -7
  234. data/lib/countries/data/countries/ID.yaml +1 -0
  235. data/lib/countries/data/countries/IE.yaml +12 -11
  236. data/lib/countries/data/countries/IL.yaml +1 -0
  237. data/lib/countries/data/countries/IM.yaml +9 -8
  238. data/lib/countries/data/countries/IN.yaml +3 -2
  239. data/lib/countries/data/countries/IO.yaml +4 -3
  240. data/lib/countries/data/countries/IQ.yaml +3 -2
  241. data/lib/countries/data/countries/IR.yaml +1 -0
  242. data/lib/countries/data/countries/IS.yaml +6 -5
  243. data/lib/countries/data/countries/IT.yaml +2 -1
  244. data/lib/countries/data/countries/JE.yaml +1 -0
  245. data/lib/countries/data/countries/JO.yaml +3 -2
  246. data/lib/countries/data/countries/JP.yaml +1 -0
  247. data/lib/countries/data/countries/KE.yaml +4 -3
  248. data/lib/countries/data/countries/KG.yaml +3 -2
  249. data/lib/countries/data/countries/KH.yaml +1 -0
  250. data/lib/countries/data/countries/KI.yaml +6 -6
  251. data/lib/countries/data/countries/KP.yaml +3 -2
  252. data/lib/countries/data/countries/KR.yaml +1 -0
  253. data/lib/countries/data/countries/KW.yaml +1 -0
  254. data/lib/countries/data/countries/KY.yaml +1 -0
  255. data/lib/countries/data/countries/KZ.yaml +3 -2
  256. data/lib/countries/data/countries/LA.yaml +7 -6
  257. data/lib/countries/data/countries/LB.yaml +1 -0
  258. data/lib/countries/data/countries/LI.yaml +1 -0
  259. data/lib/countries/data/countries/LK.yaml +1 -0
  260. data/lib/countries/data/countries/LR.yaml +1 -0
  261. data/lib/countries/data/countries/LS.yaml +1 -0
  262. data/lib/countries/data/countries/LT.yaml +7 -6
  263. data/lib/countries/data/countries/LU.yaml +1 -0
  264. data/lib/countries/data/countries/LV.yaml +11 -4
  265. data/lib/countries/data/countries/LY.yaml +1 -1
  266. data/lib/countries/data/countries/MA.yaml +5 -4
  267. data/lib/countries/data/countries/MC.yaml +1 -0
  268. data/lib/countries/data/countries/MD.yaml +9 -8
  269. data/lib/countries/data/countries/ME.yaml +3 -2
  270. data/lib/countries/data/countries/MF.yaml +1 -0
  271. data/lib/countries/data/countries/MG.yaml +1 -0
  272. data/lib/countries/data/countries/MH.yaml +3 -2
  273. data/lib/countries/data/countries/MK.yaml +5 -3
  274. data/lib/countries/data/countries/ML.yaml +4 -4
  275. data/lib/countries/data/countries/MM.yaml +1 -0
  276. data/lib/countries/data/countries/MN.yaml +9 -8
  277. data/lib/countries/data/countries/MP.yaml +1 -0
  278. data/lib/countries/data/countries/MQ.yaml +1 -0
  279. data/lib/countries/data/countries/MR.yaml +3 -3
  280. data/lib/countries/data/countries/MT.yaml +3 -2
  281. data/lib/countries/data/countries/MU.yaml +2 -1
  282. data/lib/countries/data/countries/MV.yaml +3 -2
  283. data/lib/countries/data/countries/MW.yaml +2 -2
  284. data/lib/countries/data/countries/MX.yaml +5 -4
  285. data/lib/countries/data/countries/MY.yaml +3 -2
  286. data/lib/countries/data/countries/MZ.yaml +1 -0
  287. data/lib/countries/data/countries/NA.yaml +5 -4
  288. data/lib/countries/data/countries/NC.yaml +1 -0
  289. data/lib/countries/data/countries/NE.yaml +5 -4
  290. data/lib/countries/data/countries/NF.yaml +1 -0
  291. data/lib/countries/data/countries/NG.yaml +2 -1
  292. data/lib/countries/data/countries/NI.yaml +3 -2
  293. data/lib/countries/data/countries/NL.yaml +4 -2
  294. data/lib/countries/data/countries/NO.yaml +3 -2
  295. data/lib/countries/data/countries/NP.yaml +7 -6
  296. data/lib/countries/data/countries/NZ.yaml +3 -2
  297. data/lib/countries/data/countries/OM.yaml +3 -2
  298. data/lib/countries/data/countries/PA.yaml +2 -2
  299. data/lib/countries/data/countries/PE.yaml +5 -4
  300. data/lib/countries/data/countries/PF.yaml +5 -4
  301. data/lib/countries/data/countries/PG.yaml +1 -0
  302. data/lib/countries/data/countries/PH.yaml +5 -4
  303. data/lib/countries/data/countries/PK.yaml +5 -4
  304. data/lib/countries/data/countries/PL.yaml +5 -4
  305. data/lib/countries/data/countries/PM.yaml +1 -0
  306. data/lib/countries/data/countries/PN.yaml +1 -0
  307. data/lib/countries/data/countries/PR.yaml +9 -8
  308. data/lib/countries/data/countries/PS.yaml +1 -1
  309. data/lib/countries/data/countries/PT.yaml +6 -5
  310. data/lib/countries/data/countries/PW.yaml +1 -0
  311. data/lib/countries/data/countries/PY.yaml +3 -2
  312. data/lib/countries/data/countries/QA.yaml +2 -2
  313. data/lib/countries/data/countries/RE.yaml +1 -0
  314. data/lib/countries/data/countries/RO.yaml +7 -6
  315. data/lib/countries/data/countries/RS.yaml +1 -0
  316. data/lib/countries/data/countries/RU.yaml +3 -2
  317. data/lib/countries/data/countries/RW.yaml +2 -2
  318. data/lib/countries/data/countries/SA.yaml +4 -3
  319. data/lib/countries/data/countries/SB.yaml +1 -1
  320. data/lib/countries/data/countries/SC.yaml +2 -2
  321. data/lib/countries/data/countries/SD.yaml +3 -2
  322. data/lib/countries/data/countries/SE.yaml +5 -4
  323. data/lib/countries/data/countries/SG.yaml +1 -0
  324. data/lib/countries/data/countries/SH.yaml +5 -4
  325. data/lib/countries/data/countries/SI.yaml +5 -4
  326. data/lib/countries/data/countries/SJ.yaml +6 -5
  327. data/lib/countries/data/countries/SK.yaml +7 -6
  328. data/lib/countries/data/countries/SL.yaml +2 -2
  329. data/lib/countries/data/countries/SM.yaml +1 -0
  330. data/lib/countries/data/countries/SN.yaml +5 -4
  331. data/lib/countries/data/countries/SO.yaml +2 -1
  332. data/lib/countries/data/countries/SS.yaml +2 -2
  333. data/lib/countries/data/countries/SV.yaml +1 -0
  334. data/lib/countries/data/countries/SX.yaml +1 -1
  335. data/lib/countries/data/countries/SZ.yaml +2 -1
  336. data/lib/countries/data/countries/TC.yaml +1 -0
  337. data/lib/countries/data/countries/TD.yaml +1 -1
  338. data/lib/countries/data/countries/TF.yaml +5 -5
  339. data/lib/countries/data/countries/TG.yaml +7 -7
  340. data/lib/countries/data/countries/TH.yaml +3 -1
  341. data/lib/countries/data/countries/TJ.yaml +1 -0
  342. data/lib/countries/data/countries/TM.yaml +1 -0
  343. data/lib/countries/data/countries/TN.yaml +1 -0
  344. data/lib/countries/data/countries/TR.yaml +1 -0
  345. data/lib/countries/data/countries/TV.yaml +3 -3
  346. data/lib/countries/data/countries/TW.yaml +1 -0
  347. data/lib/countries/data/countries/TZ.yaml +4 -3
  348. data/lib/countries/data/countries/UA.yaml +7 -6
  349. data/lib/countries/data/countries/UG.yaml +4 -4
  350. data/lib/countries/data/countries/UM.yaml +1 -0
  351. data/lib/countries/data/countries/US.yaml +2 -0
  352. data/lib/countries/data/countries/UY.yaml +3 -2
  353. data/lib/countries/data/countries/UZ.yaml +1 -0
  354. data/lib/countries/data/countries/VA.yaml +1 -0
  355. data/lib/countries/data/countries/VC.yaml +3 -2
  356. data/lib/countries/data/countries/VE.yaml +3 -2
  357. data/lib/countries/data/countries/VG.yaml +2 -1
  358. data/lib/countries/data/countries/VI.yaml +1 -0
  359. data/lib/countries/data/countries/VN.yaml +11 -4
  360. data/lib/countries/data/countries/WF.yaml +1 -0
  361. data/lib/countries/data/countries/WS.yaml +4 -4
  362. data/lib/countries/data/countries/YT.yaml +1 -0
  363. data/lib/countries/data/countries/ZA.yaml +5 -4
  364. data/lib/countries/data/countries/ZM.yaml +5 -4
  365. data/lib/countries/data/countries/ZW.yaml +4 -4
  366. data/lib/countries/data/subdivisions/AD.yaml +35 -28
  367. data/lib/countries/data/subdivisions/AE.yaml +142 -63
  368. data/lib/countries/data/subdivisions/AF.yaml +569 -298
  369. data/lib/countries/data/subdivisions/AG.yaml +141 -68
  370. data/lib/countries/data/subdivisions/AI.yaml +139 -125
  371. data/lib/countries/data/subdivisions/AL.yaml +472 -156
  372. data/lib/countries/data/subdivisions/AM.yaml +235 -99
  373. data/lib/countries/data/subdivisions/AO.yaml +344 -162
  374. data/lib/countries/data/subdivisions/AR.yaml +447 -210
  375. data/lib/countries/data/subdivisions/AS.yaml +64 -45
  376. data/lib/countries/data/subdivisions/AT.yaml +200 -81
  377. data/lib/countries/data/subdivisions/AU.yaml +211 -72
  378. data/lib/countries/data/subdivisions/AW.yaml +9 -0
  379. data/lib/countries/data/subdivisions/AX.yaml +38 -27
  380. data/lib/countries/data/subdivisions/AZ.yaml +1547 -666
  381. data/lib/countries/data/subdivisions/BA.yaml +198 -28
  382. data/lib/countries/data/subdivisions/BB.yaml +187 -99
  383. data/lib/countries/data/subdivisions/BD.yaml +1246 -585
  384. data/lib/countries/data/subdivisions/BE.yaml +276 -100
  385. data/lib/countries/data/subdivisions/BF.yaml +987 -418
  386. data/lib/countries/data/subdivisions/BG.yaml +599 -246
  387. data/lib/countries/data/subdivisions/BH.yaml +73 -40
  388. data/lib/countries/data/subdivisions/BI.yaml +299 -141
  389. data/lib/countries/data/subdivisions/BJ.yaml +214 -108
  390. data/lib/countries/data/subdivisions/BL.yaml +11 -0
  391. data/lib/countries/data/subdivisions/BM.yaml +110 -99
  392. data/lib/countries/data/subdivisions/BN.yaml +63 -36
  393. data/lib/countries/data/subdivisions/BO.yaml +157 -81
  394. data/lib/countries/data/subdivisions/BQ.yaml +61 -26
  395. data/lib/countries/data/subdivisions/BR.yaml +663 -243
  396. data/lib/countries/data/subdivisions/BS.yaml +637 -151
  397. data/lib/countries/data/subdivisions/BT.yaml +346 -180
  398. data/lib/countries/data/subdivisions/BW.yaml +291 -87
  399. data/lib/countries/data/subdivisions/BY.yaml +140 -59
  400. data/lib/countries/data/subdivisions/BZ.yaml +97 -54
  401. data/lib/countries/data/subdivisions/CA.yaml +356 -118
  402. data/lib/countries/data/subdivisions/CD.yaml +453 -97
  403. data/lib/countries/data/subdivisions/CF.yaml +289 -153
  404. data/lib/countries/data/subdivisions/CG.yaml +214 -98
  405. data/lib/countries/data/subdivisions/CH.yaml +593 -234
  406. data/lib/countries/data/subdivisions/CI.yaml +443 -90
  407. data/lib/countries/data/subdivisions/CK.yaml +110 -99
  408. data/lib/countries/data/subdivisions/CL.yaml +285 -134
  409. data/lib/countries/data/subdivisions/CM.yaml +186 -90
  410. data/lib/countries/data/subdivisions/CN.yaml +34 -34
  411. data/lib/countries/data/subdivisions/CO.yaml +610 -297
  412. data/lib/countries/data/subdivisions/CP.yaml +4 -0
  413. data/lib/countries/data/subdivisions/CR.yaml +119 -63
  414. data/lib/countries/data/subdivisions/CU.yaml +269 -144
  415. data/lib/countries/data/subdivisions/CV.yaml +416 -151
  416. data/lib/countries/data/subdivisions/CW.yaml +9 -0
  417. data/lib/countries/data/subdivisions/CY.yaml +102 -54
  418. data/lib/countries/data/subdivisions/CZ.yaml +2543 -197
  419. data/lib/countries/data/subdivisions/DE.yaml +450 -144
  420. data/lib/countries/data/subdivisions/DJ.yaml +108 -54
  421. data/lib/countries/data/subdivisions/DK.yaml +194 -109
  422. data/lib/countries/data/subdivisions/DM.yaml +159 -90
  423. data/lib/countries/data/subdivisions/DO.yaml +671 -289
  424. data/lib/countries/data/subdivisions/DZ.yaml +812 -435
  425. data/lib/countries/data/subdivisions/EC.yaml +390 -215
  426. data/lib/countries/data/subdivisions/EE.yaml +273 -135
  427. data/lib/countries/data/subdivisions/EG.yaml +472 -243
  428. data/lib/countries/data/subdivisions/EH.yaml +24 -16
  429. data/lib/countries/data/subdivisions/ER.yaml +109 -54
  430. data/lib/countries/data/subdivisions/ES.yaml +1696 -464
  431. data/lib/countries/data/subdivisions/ET.yaml +204 -99
  432. data/lib/countries/data/subdivisions/FI.yaml +408 -43
  433. data/lib/countries/data/subdivisions/FJ.yaml +312 -58
  434. data/lib/countries/data/subdivisions/FM.yaml +64 -36
  435. data/lib/countries/data/subdivisions/FO.yaml +60 -54
  436. data/lib/countries/data/subdivisions/FR.yaml +2790 -982
  437. data/lib/countries/data/subdivisions/GA.yaml +159 -81
  438. data/lib/countries/data/subdivisions/GB.yaml +4970 -1982
  439. data/lib/countries/data/subdivisions/GD.yaml +114 -63
  440. data/lib/countries/data/subdivisions/GE.yaml +236 -108
  441. data/lib/countries/data/subdivisions/GF.yaml +11 -0
  442. data/lib/countries/data/subdivisions/GG.yaml +110 -99
  443. data/lib/countries/data/subdivisions/GH.yaml +254 -88
  444. data/lib/countries/data/subdivisions/GL.yaml +87 -4
  445. data/lib/countries/data/subdivisions/GM.yaml +122 -54
  446. data/lib/countries/data/subdivisions/GN.yaml +706 -312
  447. data/lib/countries/data/subdivisions/GP.yaml +11 -0
  448. data/lib/countries/data/subdivisions/GQ.yaml +141 -81
  449. data/lib/countries/data/subdivisions/GR.yaml +642 -226
  450. data/lib/countries/data/subdivisions/GT.yaml +351 -198
  451. data/lib/countries/data/subdivisions/GU.yaml +198 -171
  452. data/lib/countries/data/subdivisions/GW.yaml +189 -79
  453. data/lib/countries/data/subdivisions/GY.yaml +163 -90
  454. data/lib/countries/data/subdivisions/HK.yaml +194 -162
  455. data/lib/countries/data/subdivisions/HN.yaml +275 -162
  456. data/lib/countries/data/subdivisions/HR.yaml +428 -189
  457. data/lib/countries/data/subdivisions/HT.yaml +178 -81
  458. data/lib/countries/data/subdivisions/HU.yaml +792 -381
  459. data/lib/countries/data/subdivisions/IC.yaml +4 -0
  460. data/lib/countries/data/subdivisions/ID.yaml +2303 -1868
  461. data/lib/countries/data/subdivisions/IE.yaml +634 -238
  462. data/lib/countries/data/subdivisions/IL.yaml +114 -54
  463. data/lib/countries/data/subdivisions/IM.yaml +240 -216
  464. data/lib/countries/data/subdivisions/IN.yaml +972 -337
  465. data/lib/countries/data/subdivisions/IQ.yaml +316 -157
  466. data/lib/countries/data/subdivisions/IR.yaml +591 -268
  467. data/lib/countries/data/subdivisions/IS.yaml +158 -76
  468. data/lib/countries/data/subdivisions/IT.yaml +2686 -1009
  469. data/lib/countries/data/subdivisions/JE.yaml +120 -108
  470. data/lib/countries/data/subdivisions/JM.yaml +243 -126
  471. data/lib/countries/data/subdivisions/JO.yaml +182 -97
  472. data/lib/countries/data/subdivisions/JP.yaml +950 -425
  473. data/lib/countries/data/subdivisions/KE.yaml +800 -79
  474. data/lib/countries/data/subdivisions/KG.yaml +186 -72
  475. data/lib/countries/data/subdivisions/KH.yaml +436 -216
  476. data/lib/countries/data/subdivisions/KI.yaml +57 -27
  477. data/lib/countries/data/subdivisions/KM.yaml +49 -27
  478. data/lib/countries/data/subdivisions/KN.yaml +307 -127
  479. data/lib/countries/data/subdivisions/KP.yaml +361 -67
  480. data/lib/countries/data/subdivisions/KR.yaml +376 -134
  481. data/lib/countries/data/subdivisions/KW.yaml +88 -54
  482. data/lib/countries/data/subdivisions/KY.yaml +36 -24
  483. data/lib/countries/data/subdivisions/KZ.yaml +360 -151
  484. data/lib/countries/data/subdivisions/LA.yaml +296 -157
  485. data/lib/countries/data/subdivisions/LB.yaml +130 -49
  486. data/lib/countries/data/subdivisions/LC.yaml +167 -10
  487. data/lib/countries/data/subdivisions/LI.yaml +154 -68
  488. data/lib/countries/data/subdivisions/LK.yaml +556 -233
  489. data/lib/countries/data/subdivisions/LR.yaml +253 -126
  490. data/lib/countries/data/subdivisions/LS.yaml +149 -90
  491. data/lib/countries/data/subdivisions/LT.yaml +1090 -149
  492. data/lib/countries/data/subdivisions/LU.yaml +198 -27
  493. data/lib/countries/data/subdivisions/LV.yaml +2332 -277
  494. data/lib/countries/data/subdivisions/LY.yaml +341 -184
  495. data/lib/countries/data/subdivisions/MA.yaml +1487 -562
  496. data/lib/countries/data/subdivisions/MC.yaml +265 -17
  497. data/lib/countries/data/subdivisions/MD.yaml +633 -127
  498. data/lib/countries/data/subdivisions/ME.yaml +429 -190
  499. data/lib/countries/data/subdivisions/MF.yaml +9 -0
  500. data/lib/countries/data/subdivisions/MG.yaml +93 -54
  501. data/lib/countries/data/subdivisions/MH.yaml +429 -213
  502. data/lib/countries/data/subdivisions/MK.yaml +3083 -425
  503. data/lib/countries/data/subdivisions/ML.yaml +185 -80
  504. data/lib/countries/data/subdivisions/MM.yaml +274 -126
  505. data/lib/countries/data/subdivisions/MN.yaml +420 -198
  506. data/lib/countries/data/subdivisions/MO.yaml +9 -0
  507. data/lib/countries/data/subdivisions/MP.yaml +54 -36
  508. data/lib/countries/data/subdivisions/MQ.yaml +11 -0
  509. data/lib/countries/data/subdivisions/MR.yaml +249 -115
  510. data/lib/countries/data/subdivisions/MS.yaml +30 -27
  511. data/lib/countries/data/subdivisions/MT.yaml +1059 -612
  512. data/lib/countries/data/subdivisions/MU.yaml +314 -147
  513. data/lib/countries/data/subdivisions/MV.yaml +466 -192
  514. data/lib/countries/data/subdivisions/MW.yaml +536 -246
  515. data/lib/countries/data/subdivisions/MX.yaml +707 -288
  516. data/lib/countries/data/subdivisions/MY.yaml +334 -144
  517. data/lib/countries/data/subdivisions/MZ.yaml +188 -93
  518. data/lib/countries/data/subdivisions/NA.yaml +221 -120
  519. data/lib/countries/data/subdivisions/NC.yaml +44 -27
  520. data/lib/countries/data/subdivisions/NE.yaml +161 -72
  521. data/lib/countries/data/subdivisions/NG.yaml +833 -333
  522. data/lib/countries/data/subdivisions/NI.yaml +260 -153
  523. data/lib/countries/data/subdivisions/NL.yaml +382 -113
  524. data/lib/countries/data/subdivisions/NO.yaml +633 -1096
  525. data/lib/countries/data/subdivisions/NP.yaml +389 -130
  526. data/lib/countries/data/subdivisions/NR.yaml +260 -126
  527. data/lib/countries/data/subdivisions/NZ.yaml +322 -151
  528. data/lib/countries/data/subdivisions/OM.yaml +205 -66
  529. data/lib/countries/data/subdivisions/PA.yaml +204 -113
  530. data/lib/countries/data/subdivisions/PE.yaml +418 -234
  531. data/lib/countries/data/subdivisions/PF.yaml +60 -45
  532. data/lib/countries/data/subdivisions/PG.yaml +383 -177
  533. data/lib/countries/data/subdivisions/PH.yaml +1867 -767
  534. data/lib/countries/data/subdivisions/PK.yaml +185 -63
  535. data/lib/countries/data/subdivisions/PL.yaml +1161 -143
  536. data/lib/countries/data/subdivisions/PM.yaml +30 -18
  537. data/lib/countries/data/subdivisions/PR.yaml +794 -702
  538. data/lib/countries/data/subdivisions/PS.yaml +265 -16
  539. data/lib/countries/data/subdivisions/PT.yaml +341 -180
  540. data/lib/countries/data/subdivisions/PW.yaml +265 -144
  541. data/lib/countries/data/subdivisions/PY.yaml +321 -162
  542. data/lib/countries/data/subdivisions/QA.yaml +165 -71
  543. data/lib/countries/data/subdivisions/RE.yaml +11 -0
  544. data/lib/countries/data/subdivisions/RO.yaml +731 -381
  545. data/lib/countries/data/subdivisions/RS.yaml +582 -261
  546. data/lib/countries/data/subdivisions/RU.yaml +1873 -750
  547. data/lib/countries/data/subdivisions/RW.yaml +100 -45
  548. data/lib/countries/data/subdivisions/SA.yaml +234 -117
  549. data/lib/countries/data/subdivisions/SB.yaml +169 -90
  550. data/lib/countries/data/subdivisions/SC.yaml +457 -208
  551. data/lib/countries/data/subdivisions/SD.yaml +142 -18
  552. data/lib/countries/data/subdivisions/SE.yaml +435 -258
  553. data/lib/countries/data/subdivisions/SG.yaml +117 -25
  554. data/lib/countries/data/subdivisions/SH.yaml +68 -18
  555. data/lib/countries/data/subdivisions/SI.yaml +3605 -1760
  556. data/lib/countries/data/subdivisions/SJ.yaml +20 -18
  557. data/lib/countries/data/subdivisions/SK.yaml +129 -72
  558. data/lib/countries/data/subdivisions/SL.yaml +80 -35
  559. data/lib/countries/data/subdivisions/SM.yaml +158 -81
  560. data/lib/countries/data/subdivisions/SN.yaml +232 -101
  561. data/lib/countries/data/subdivisions/SO.yaml +313 -161
  562. data/lib/countries/data/subdivisions/SR.yaml +158 -90
  563. data/lib/countries/data/subdivisions/SS.yaml +196 -10
  564. data/lib/countries/data/subdivisions/ST.yaml +30 -18
  565. data/lib/countries/data/subdivisions/SV.yaml +233 -126
  566. data/lib/countries/data/subdivisions/SX.yaml +9 -0
  567. data/lib/countries/data/subdivisions/SY.yaml +219 -124
  568. data/lib/countries/data/subdivisions/SZ.yaml +64 -35
  569. data/lib/countries/data/subdivisions/TA.yaml +4 -0
  570. data/lib/countries/data/subdivisions/TD.yaml +408 -161
  571. data/lib/countries/data/subdivisions/TF.yaml +34 -16
  572. data/lib/countries/data/subdivisions/TG.yaml +75 -45
  573. data/lib/countries/data/subdivisions/TH.yaml +1449 -694
  574. data/lib/countries/data/subdivisions/TJ.yaml +98 -28
  575. data/lib/countries/data/subdivisions/TK.yaml +30 -27
  576. data/lib/countries/data/subdivisions/TL.yaml +209 -117
  577. data/lib/countries/data/subdivisions/TM.yaml +116 -45
  578. data/lib/countries/data/subdivisions/TN.yaml +412 -216
  579. data/lib/countries/data/subdivisions/TO.yaml +76 -45
  580. data/lib/countries/data/subdivisions/TR.yaml +1818 -730
  581. data/lib/countries/data/subdivisions/TT.yaml +296 -131
  582. data/lib/countries/data/subdivisions/TV.yaml +130 -64
  583. data/lib/countries/data/subdivisions/TW.yaml +481 -187
  584. data/lib/countries/data/subdivisions/TZ.yaml +635 -237
  585. data/lib/countries/data/subdivisions/UA.yaml +504 -243
  586. data/lib/countries/data/subdivisions/UG.yaml +2237 -752
  587. data/lib/countries/data/subdivisions/UM.yaml +216 -80
  588. data/lib/countries/data/subdivisions/US.yaml +1570 -495
  589. data/lib/countries/data/subdivisions/UY.yaml +364 -170
  590. data/lib/countries/data/subdivisions/UZ.yaml +288 -127
  591. data/lib/countries/data/subdivisions/VC.yaml +96 -53
  592. data/lib/countries/data/subdivisions/VE.yaml +456 -225
  593. data/lib/countries/data/subdivisions/VI.yaml +44 -27
  594. data/lib/countries/data/subdivisions/VN.yaml +3583 -2980
  595. data/lib/countries/data/subdivisions/VU.yaml +98 -54
  596. data/lib/countries/data/subdivisions/WF.yaml +73 -3
  597. data/lib/countries/data/subdivisions/WS.yaml +200 -99
  598. data/lib/countries/data/subdivisions/YE.yaml +376 -173
  599. data/lib/countries/data/subdivisions/YT.yaml +178 -153
  600. data/lib/countries/data/subdivisions/ZA.yaml +230 -81
  601. data/lib/countries/data/subdivisions/ZM.yaml +156 -81
  602. data/lib/countries/data/subdivisions/ZW.yaml +153 -83
  603. data/lib/countries/data/translation_corrections.yaml +10 -1
  604. data/lib/countries/sources/cldr/downloader.rb +12 -13
  605. data/lib/countries/structure.rb +1 -0
  606. data/lib/countries/tasks/geocoding.rake +9 -16
  607. data/lib/countries/tasks/postal_codes.rake +48 -0
  608. data/lib/countries/translations.rb +1 -1
  609. data/lib/countries/version.rb +1 -1
  610. data/spec/country_spec.rb +86 -9
  611. data/spec/data_spec.rb +4 -4
  612. data/spec/subdivision_spec.rb +14 -0
  613. data/spec/thread_safety_spec.rb +46 -0
  614. metadata +75 -29
  615. data/.travis.yml +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d13d450e712105221928a3eea691a976ca88feac4d06910c4bc77cfebfea43c
4
- data.tar.gz: 1a316dee7e145444a16be1c6d4677ed61bb9a3c17ec5b26afc7e366ee4f8d267
3
+ metadata.gz: b7baa4f86f59b67e7973a114531fe15354ed6f420a58103ca14f2b3e06b0ddd8
4
+ data.tar.gz: cb50dfef5da7eb17b18f1866d2a5c518161568fe818cf95d2bf73062e18fa99c
5
5
  SHA512:
6
- metadata.gz: 97fefb2f552fb07e83a936d48d23ad1a8c8e0c9c09ca305bdbf0e057d091ccb8373c8c04dc48e4f63ca9bcc48f2d280201edde5862cf7a9ee93a6419040208ee
7
- data.tar.gz: 2c701bd4ebf3e324b394c64971f6ed2cc74d974699bf6b2790ab3fd7fa6c5b0a3d2ebff2b18deac01bf86b7d0a80fd15c4d4fa2fb98e45d3dd832239b23d2621
6
+ metadata.gz: 02a8c98fdd0d884c6bd32bbc261ac056e184b2a1a1c8158c5c0d40a0ebd138a9e1d548327d35ec2a79b4744a59f1f733e26f861a6af1e17e12088668b6c1660d
7
+ data.tar.gz: 9a1a3dca9bb965ae39c1f7c99be28784f6fd1e9e885955468308d4e61aef57c4362ccc19e0594cf852e8559180cfbdbf3a3d22243beaceba99ecbffefbe3b460
@@ -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.7
21
+ bundler-version: default
22
+ - ruby-version: 2.7.3
23
+ bundler-version: default
24
+ - ruby-version: 3.0.1
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
@@ -23,3 +23,4 @@ tmp
23
23
  Gemfile.lock
24
24
  bin/rspec
25
25
  examples.txt
26
+ /.rbenv-gemsets
data/CHANGELOG.md CHANGED
@@ -2,6 +2,128 @@
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
+ ## [Unreleased]
6
+
7
+ ## [4.0.1](https://github.com/countries/countries/releases/tag/v4.0.1) (2021/07/19 14:47 +01:00)
8
+
9
+ **Closed issues:**
10
+
11
+ - ISO Country Code for Czechia/Czech Republic should be updated. [\#688](https://github.com/countries/countries/issues/688)
12
+ - Regression in 4.0.0: ISO3166::Country.translations(:en) with symbol arg raises [\#691](https://github.com/countries/countries/issues/691)
13
+
14
+ **Merged pull requests:**
15
+
16
+ - 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))
17
+ - 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))
18
+ - Fix regression in `ISO3166::Country.translations` with symbols [\#692](https://github.com/countries/countries/pull/692) ([pmor](https://github.com/pmor))
19
+
20
+ ## [4.0.0](https://github.com/countries/countries/releases/tag/v4.0.0) (2021/06/11 09:47 +01:00)
21
+
22
+ [Full changelog](https://github.com/countries/countries/compare/v3.1.0...v4.0.0)
23
+
24
+ **Closed issues:**
25
+
26
+ - update_cldr_subdivison_data Rake task broken due to CLDR repo change [\#633](https://github.com/countries/countries/issues/633)
27
+ - Fix ISO3166::Data.register loading of nested hashes (from https://github.com/countries/countries/pull/397#issuecomment-846543094)
28
+ - Angola's bounds is the same as Austria? [\#682](https://github.com/countries/countries/issues/682)
29
+
30
+ **Merged pull requests:**
31
+
32
+ - `make_cache_thread_safe` ([factorialco](https://github.com/factorialco))
33
+ - 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))
34
+ - Fixes [\#633] and updates geocoder searches [\#634](https://github.com/countries/countries/pull/634) ([mezza](https://github.com/mezza))
35
+ - `translation_corrections.yaml`: Fix broken link [\#664](https://github.com/countries/countries/pull/664) ([henrik](https://github.com/henrik))
36
+ - Correct Danish translation of CZ [\#661](https://github.com/countries/countries/pull/661) ([JanMSP](https://github.com/JanMSP))
37
+ - Swedish translation correction: RU = "Ryssland" [\#665](https://github.com/countries/countries/pull/665) ([henrik](https://github.com/henrik))
38
+ - Update gemspec metadata with new repo url [\#672](https://github.com/countries/countries/pull/672) ([pmor](https://github.com/pmor))
39
+ - Fix typo and lint in README.markdown [\#675](https://github.com/countries/countries/pull/675) ([DigiPie](https://github.com/DigiPie))
40
+ - Update CI to the latests ruby point versions [\#677](https://github.com/countries/countries/pull/677) ([pmor](https://github.com/pmor))
41
+ - 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 ))
42
+ - Update Vietnam subdivisions with current ISO_3166-2:VN [\#673](https://github.com/countries/countries/pull/673) ([keymastervn](https://github.com/keymastervn))
43
+ - Add custom countries to translation lists [\#595](https://github.com/countries/countries/pull/595) ([phylor](https://github.com/phylor))
44
+ - Fix ISO3166::Data.register loading of nested hashes, eg: geo data. [\#683](https://github.com/countries/countries/pull/683) ([pmor](https://github.com/pmor))
45
+ - Remove Travis CI configuration. [\#685](https://github.com/countries/countries/pull/683) ([pmor](https://github.com/pmor))
46
+
47
+ ## [3.1.0](https://github.com/countries/countries/releases/tag/v3.1.0) (2021/03/24 00:01 +05:00)
48
+
49
+ [Full Changelog](https://github.com/countries/countries/compare/v3.0.1...v3.1.0)
50
+
51
+ **Closed issues:**
52
+
53
+ - Add timezones to country data [\#669](https://github.com/countries/countries/issues/669)
54
+ - The name for Vietnam is incorrect [\#660](https://github.com/countries/countries/issues/660)
55
+ - Missing address\_format for Vietnam [\#652](https://github.com/countries/countries/issues/652)
56
+ - Temporary German VAT rate \(16%\) from July 1st to December 31st, 2020 [\#637](https://github.com/countries/countries/issues/637)
57
+ - Armenian translations are incorrect [\#622](https://github.com/countries/countries/issues/622)
58
+ - Please cut a release [\#610](https://github.com/countries/countries/issues/610)
59
+ - Please update i18n\_data to 0.10.0 [\#607](https://github.com/countries/countries/issues/607)
60
+ - Release '3.0.0' missing some commits [\#603](https://github.com/countries/countries/issues/603)
61
+ - Please release a new version [\#591](https://github.com/countries/countries/issues/591)
62
+ - 'Portugal' is misspelled in lib/countries/cache/locales/nn.json [\#583](https://github.com/countries/countries/issues/583)
63
+ - Any interest in fiscal year data? [\#532](https://github.com/countries/countries/issues/532)
64
+ - Kosovo independent from Serbia [\#511](https://github.com/countries/countries/issues/511)
65
+ - Include country's postcode/zip format [\#366](https://github.com/countries/countries/issues/366)
66
+
67
+ **Merged pull requests:**
68
+
69
+ - add find\_all\_by example to readme [\#667](https://github.com/countries/countries/pull/667) ([glaucocustodio](https://github.com/glaucocustodio))
70
+ - Add address\_format for Vietnam, fixes [\#652] [\#653](https://github.com/countries/countries/pull/653) ([pmor](https://github.com/pmor))
71
+ - "The United Kingdom" is an unofficial name for Great Britain [\#651](https://github.com/countries/countries/pull/651) ([RogerPodacter](https://github.com/RogerPodacter))
72
+ - UK is an unofficial name for Great Britain [\#648](https://github.com/countries/countries/pull/648) ([RogerPodacter](https://github.com/RogerPodacter))
73
+ - \[French\] Bad encoding for new zealand [\#643](https://github.com/countries/countries/pull/643) ([waghanza](https://github.com/waghanza))
74
+ - Update gemspec: i18n\_data 0.11.0 [\#640](https://github.com/countries/countries/pull/640) ([masawo](https://github.com/masawo))
75
+ - Add missing Latvia address\_format template [\#639](https://github.com/countries/countries/pull/639) ([RogerPodacter](https://github.com/RogerPodacter))
76
+ - Used the common name República Checa in PT [\#635](https://github.com/countries/countries/pull/635) ([basex](https://github.com/basex))
77
+ - 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))
78
+ - Use AUD currency for Tuvalu [\#629](https://github.com/countries/countries/pull/629) ([mayrsascha](https://github.com/mayrsascha))
79
+ - Add country code 672 to HM [\#626](https://github.com/countries/countries/pull/626) ([wongyouth](https://github.com/wongyouth))
80
+ - \[GB\] Add unofficial names for ERY [\#620](https://github.com/countries/countries/pull/620) ([carlesjove](https://github.com/carlesjove))
81
+ - \[ES\] Add unofficial names + translations + remove weird characters [\#619](https://github.com/countries/countries/pull/619) ([carlesjove](https://github.com/carlesjove))
82
+ - Add data & script to update postal code & format [\#618](https://github.com/countries/countries/pull/618) ([cover](https://github.com/cover))
83
+ - Fixes failing rspec assertions after cache update [\#617](https://github.com/countries/countries/pull/617) ([rposborne](https://github.com/rposborne))
84
+ - Potential solution for thread safety [\#608](https://github.com/countries/countries/pull/608) ([hammerdr](https://github.com/hammerdr))
85
+ - Fix a typo in 'Portugal' [\#602](https://github.com/countries/countries/pull/602) ([mbirman](https://github.com/mbirman))
86
+ - added CL standard VAT [\#578](https://github.com/countries/countries/pull/578) ([tiagomatos](https://github.com/tiagomatos))
87
+ - Remove Puerto Rico subdivisions [\#539](https://github.com/countries/countries/pull/539) ([philipefarias](https://github.com/philipefarias))
88
+
89
+ ## [v3.0.1](https://github.com/countries/countries/releases/tag/v3.0.1) (2020/02/11 00:04 +05:00)
90
+
91
+ [Full Changelog](https://github.com/hexorx/countries/compare/v3.0.0...v3.0.1)
92
+
93
+ **Closed issues:**
94
+
95
+ - Accessing all ISO 639-1 language codes [\#604](https://github.com/hexorx/countries/issues/604)
96
+ - County ISO and translations for Cork County \(Ireland\) in invalid [\#594](https://github.com/hexorx/countries/issues/594)
97
+ - Chile added Ñuble Region [\#592](https://github.com/hexorx/countries/issues/592)
98
+ - Samoa currency code should be WST [\#584](https://github.com/hexorx/countries/issues/584)
99
+ - Mauritanian currency code is changed [\#568](https://github.com/hexorx/countries/issues/568)
100
+ - Czech Republic changed it's name to Czechia [\#560](https://github.com/hexorx/countries/issues/560)
101
+ - Swaziland renamed to eSwatini [\#521](https://github.com/hexorx/countries/issues/521)
102
+
103
+ **Merged pull requests:**
104
+
105
+ - Update UK EU and EEA status [\#615](https://github.com/hexorx/countries/pull/615) ([carlesjove](https://github.com/carlesjove))
106
+ - Add "The Netherlands" as an unofficial name of NL [\#614](https://github.com/hexorx/countries/pull/614) ([RogerPodacter](https://github.com/RogerPodacter))
107
+ - CI: Drop unused sudo: false directive [\#613](https://github.com/hexorx/countries/pull/613) ([olleolleolle](https://github.com/olleolleolle))
108
+ - Samoa currency is WST [\#599](https://github.com/hexorx/countries/pull/599) ([mbirman](https://github.com/mbirman))
109
+ - Add Ñuble region [\#598](https://github.com/hexorx/countries/pull/598) ([mbirman](https://github.com/mbirman))
110
+ - Update Ireland Subdivision Formatting and Connacht and \(County\) Cork Data [\#596](https://github.com/hexorx/countries/pull/596) ([anastasiastowers](https://github.com/anastasiastowers))
111
+ - Change the name of Macedonia to North Macedonia [\#585](https://github.com/hexorx/countries/pull/585) ([svetliomihailov](https://github.com/svetliomihailov))
112
+ - Add Murica to United States unoffical names [\#577](https://github.com/hexorx/countries/pull/577) ([mikeyduece](https://github.com/mikeyduece))
113
+ - Fix state codes from being returned as false [\#574](https://github.com/hexorx/countries/pull/574) ([akiellor](https://github.com/akiellor))
114
+ - Update i18n\_data version [\#572](https://github.com/hexorx/countries/pull/572) ([tatarsky-v](https://github.com/tatarsky-v))
115
+ - remove bin/console from gemspec [\#571](https://github.com/hexorx/countries/pull/571) ([patleb](https://github.com/patleb))
116
+ - Add North Macedonia as alternate name [\#570](https://github.com/hexorx/countries/pull/570) ([toddwschneider](https://github.com/toddwschneider))
117
+ - Update Mauritanian currency code [\#569](https://github.com/hexorx/countries/pull/569) ([vencislavdimitrov](https://github.com/vencislavdimitrov))
118
+ - Update name of SZ to eSwatini \(was Swaziland\) [\#567](https://github.com/hexorx/countries/pull/567) ([rossgayler](https://github.com/rossgayler))
119
+ - Fixed links to debian package iso-codes [\#566](https://github.com/hexorx/countries/pull/566) ([panterch](https://github.com/panterch))
120
+ - It should include language variants which are available in i18n\_data. [\#565](https://github.com/hexorx/countries/pull/565) ([torumori](https://github.com/torumori))
121
+ - Fix "it's"-related typos [\#563](https://github.com/hexorx/countries/pull/563) ([RogerPodacter](https://github.com/RogerPodacter))
122
+ - Add Czechia as unofficial name for Czech Republic [\#561](https://github.com/hexorx/countries/pull/561) ([msdundar](https://github.com/msdundar))
123
+ - Drops the i18n requirement from the gem [\#558](https://github.com/hexorx/countries/pull/558) ([rposborne](https://github.com/rposborne))
124
+ - Add caching to the parsing of values during search [\#557](https://github.com/hexorx/countries/pull/557) ([radixhound](https://github.com/radixhound))
125
+ - 🇬🇧🇪🇺 Britain leaves the EU and EEA [\#500](https://github.com/hexorx/countries/pull/500) ([seanhandley](https://github.com/seanhandley))
126
+
5
127
  ### v2.2.0 (yanked and re-released as 3.0.0) (2018/12/17 10:20 +00:00)
6
128
  **Closed issues:**
7
129
 
data/Gemfile CHANGED
@@ -7,3 +7,8 @@ gem 'money'
7
7
 
8
8
  # Specify your gem's dependencies in countries.gemspec
9
9
  gemspec
10
+
11
+ group :development, :test do
12
+ gem 'pry'
13
+ gem 'yaml'
14
+ end
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) [![Build Status](https://travis-ci.org/hexorx/countries.svg)](https://travis-ci.org/hexorx/countries) [![Code Climate](https://codeclimate.com/github/hexorx/countries.svg)](https://codeclimate.com/github/hexorx/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
- ``` bash
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
- ``` ruby
27
+ ```ruby
28
28
  c = ISO3166::Country.new('US')
29
29
  ```
30
30
 
31
31
  ## Configuration
32
32
 
33
- #### Country Helper
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
- ``` ruby
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
- ``` ruby
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, see [instructions](README.markdown#Currencies) if you are using currency featues
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
- ``` ruby
56
+
57
+ ```ruby
56
58
  gem 'countries', require: 'global'
57
59
  ```
58
60
 
59
61
  has become
60
- ``` ruby
62
+ ```ruby
61
63
  gem 'countries', require: 'countries/global'
62
64
  ```
63
65
 
@@ -65,18 +67,18 @@ gem 'countries', require: 'countries/global'
65
67
 
66
68
  As of 2.0 you can selectively load locales to reduce memory usage in production.
67
69
 
68
- By default we load I18n.available_locales if I18n is present, otherwise only [:en]. This means almost any rails environment will only bring in it's supported translations.
70
+ By default we load I18n.available_locales if I18n is present, otherwise only [:en]. This means almost any rails environment will only bring in its supported translations.
69
71
 
70
72
  You can add all the locales like this.
71
73
 
72
- ``` ruby
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
- ``` ruby
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
- ``` ruby
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
- ### Names & Translations
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
- ``` ruby
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
- ``` ruby
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
- ``` ruby
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
- ``` ruby
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
- ``` ruby
178
+ ```ruby
176
179
  c.min_longitude # => '45'
177
180
  c.min_latitude # => '22.166667'
178
181
  c.max_longitude # => '58'
@@ -181,21 +184,34 @@ c.max_latitude # => '26.133333'
181
184
 
182
185
  ### European Union Membership
183
186
 
184
- ``` ruby
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
+
188
204
  ## Currencies
189
205
 
190
206
  To enable currencies extension please add the following to countries initializer.
191
207
 
192
- ``` ruby
208
+ ```ruby
193
209
  ISO3166.configuration.enable_currency_extension!
194
210
  ```
195
211
 
196
212
  Please note that it requires you to add "money" dependency to your gemfile.
197
213
 
198
- ``` ruby
214
+ ```ruby
199
215
  gem "money", "~> 6.9"
200
216
  ```
201
217
 
@@ -203,7 +219,7 @@ gem "money", "~> 6.9"
203
219
 
204
220
  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
221
 
206
- ``` ruby
222
+ ```ruby
207
223
  c = ISO3166::Country['us']
208
224
  c.currency.iso_code # => 'USD'
209
225
  c.currency.name # => 'United States Dollar'
@@ -212,19 +228,19 @@ c.currency.symbol # => '$'
212
228
 
213
229
  ## Address Formatting
214
230
 
215
- A template for formatting addresses is available through the address_format method. These templates are compatible with the [Liquid][] template system.
231
+ 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
232
 
217
- ``` ruby
233
+ ```ruby
218
234
  c.address_format # => "{{recipient}}\n{{street}}\n{{city}} {{region}} {{postalcode}}\n{{country}}"
219
235
  ```
220
236
 
221
237
  ## Loading Custom Data
222
238
 
223
- As of 2.0 countries supports loading custom countries / overriding data in it's data set, though if you choose to do this please contribute back to the upstream repo!
239
+ As of 2.0 countries supports loading custom countries / overriding data in its data set, though if you choose to do this please contribute back to the upstream repo!
224
240
 
225
- Any country registered this way will have it's 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__.
241
+ 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
242
 
227
- ``` ruby
243
+ ```ruby
228
244
  ISO3166::Data.register(
229
245
  alpha2: 'LOL',
230
246
  name: 'Happy Country',
@@ -260,6 +276,7 @@ british_things.first.country.name # => "United Kingdom"
260
276
  british_things = Things.where(country: Country.find_by_name('United Kingdom')[1])
261
277
  british_things.first.country.name # => "United Kingdom"
262
278
  ```
279
+
263
280
  Saving:
264
281
 
265
282
  ```ruby
@@ -276,7 +293,7 @@ british_thing.country.name # => "United Kingdom"
276
293
 
277
294
  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
295
 
279
- ``` ruby
296
+ ```ruby
280
297
  def country
281
298
  super.name
282
299
  end
@@ -284,7 +301,7 @@ end
284
301
 
285
302
  ## Country Code in Emoji
286
303
 
287
- ``` ruby
304
+ ```ruby
288
305
  c = Country['MY']
289
306
  c.emoji_flag # => "🇲🇾"
290
307
  ```
@@ -293,9 +310,9 @@ c.emoji_flag # => "🇲🇾"
293
310
 
294
311
  ### Please do not submit pull requests on `cache/**/*`
295
312
 
296
- Any additions should be directed upstream to [pkg-isocodes](http://anonscm.debian.org/cgit/pkg-isocodes/iso-codes.git/)
313
+ Any additions should be directed upstream to [pkg-isocodes](https://salsa.debian.org/iso-codes-team/iso-codes)
297
314
 
298
- New Bugs can be filed upstream here https://alioth.debian.org/projects/pkg-iso-codes/
315
+ New Bugs can be filed upstream here https://salsa.debian.org/iso-codes-team/iso-codes/issues
299
316
  If you need to correct an upstream translation please add it to the lib/countries/data/translations_corrections.yaml
300
317
 
301
318
  ```
@@ -307,7 +324,7 @@ If you need to correct an upstream translation please add it to the lib/countrie
307
324
  ```
308
325
 
309
326
  Any corrections can be applied in translations_corrections.yaml these will be injected during
310
- the next ```rake update_cache```
327
+ the next `rake update_cache`.
311
328
 
312
329
  * Fork the project.
313
330
  * Make your feature addition or bug fix.
@@ -322,10 +339,3 @@ the next ```rake update_cache```
322
339
 
323
340
  Copyright (c) 2016 hexorx. See LICENSE for details.
324
341
 
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