countries 3.0.1 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (614) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +37 -0
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +104 -1
  5. data/Gemfile +5 -0
  6. data/README.markdown +51 -35
  7. data/Rakefile +5 -3
  8. data/countries.gemspec +10 -5
  9. data/lib/countries/cache/countries.json +1 -1
  10. data/lib/countries/cache/locales/ab.json +1 -1
  11. data/lib/countries/cache/locales/af.json +1 -1
  12. data/lib/countries/cache/locales/ak.json +1 -1
  13. data/lib/countries/cache/locales/am.json +1 -1
  14. data/lib/countries/cache/locales/an.json +1 -1
  15. data/lib/countries/cache/locales/ar.json +1 -1
  16. data/lib/countries/cache/locales/as.json +1 -1
  17. data/lib/countries/cache/locales/ay.json +1 -1
  18. data/lib/countries/cache/locales/az.json +1 -1
  19. data/lib/countries/cache/locales/ba.json +1 -1
  20. data/lib/countries/cache/locales/be.json +1 -1
  21. data/lib/countries/cache/locales/bg.json +1 -1
  22. data/lib/countries/cache/locales/bi.json +1 -1
  23. data/lib/countries/cache/locales/bn-in.json +1 -1
  24. data/lib/countries/cache/locales/bn.json +1 -1
  25. data/lib/countries/cache/locales/br.json +1 -1
  26. data/lib/countries/cache/locales/bs.json +1 -1
  27. data/lib/countries/cache/locales/ca.json +1 -1
  28. data/lib/countries/cache/locales/ce.json +1 -1
  29. data/lib/countries/cache/locales/ch.json +1 -1
  30. data/lib/countries/cache/locales/cs.json +1 -1
  31. data/lib/countries/cache/locales/cv.json +1 -1
  32. data/lib/countries/cache/locales/cy.json +1 -1
  33. data/lib/countries/cache/locales/da.json +1 -1
  34. data/lib/countries/cache/locales/de.json +1 -1
  35. data/lib/countries/cache/locales/dv.json +1 -1
  36. data/lib/countries/cache/locales/dz.json +1 -1
  37. data/lib/countries/cache/locales/ee.json +1 -1
  38. data/lib/countries/cache/locales/el.json +1 -1
  39. data/lib/countries/cache/locales/en.json +1 -1
  40. data/lib/countries/cache/locales/eo.json +1 -1
  41. data/lib/countries/cache/locales/es.json +1 -1
  42. data/lib/countries/cache/locales/et.json +1 -1
  43. data/lib/countries/cache/locales/eu.json +1 -1
  44. data/lib/countries/cache/locales/fa.json +1 -1
  45. data/lib/countries/cache/locales/ff.json +1 -1
  46. data/lib/countries/cache/locales/fi.json +1 -1
  47. data/lib/countries/cache/locales/fo.json +1 -1
  48. data/lib/countries/cache/locales/fr.json +1 -1
  49. data/lib/countries/cache/locales/fy.json +1 -1
  50. data/lib/countries/cache/locales/ga.json +1 -1
  51. data/lib/countries/cache/locales/gl.json +1 -1
  52. data/lib/countries/cache/locales/gn.json +1 -1
  53. data/lib/countries/cache/locales/gu.json +1 -1
  54. data/lib/countries/cache/locales/gv.json +1 -1
  55. data/lib/countries/cache/locales/ha.json +1 -1
  56. data/lib/countries/cache/locales/he.json +1 -1
  57. data/lib/countries/cache/locales/hi.json +1 -1
  58. data/lib/countries/cache/locales/hr.json +1 -1
  59. data/lib/countries/cache/locales/ht.json +1 -1
  60. data/lib/countries/cache/locales/hu.json +1 -1
  61. data/lib/countries/cache/locales/hy.json +1 -1
  62. data/lib/countries/cache/locales/ia.json +1 -1
  63. data/lib/countries/cache/locales/id.json +1 -1
  64. data/lib/countries/cache/locales/io.json +1 -1
  65. data/lib/countries/cache/locales/is.json +1 -1
  66. data/lib/countries/cache/locales/it.json +1 -1
  67. data/lib/countries/cache/locales/iu.json +1 -1
  68. data/lib/countries/cache/locales/ja.json +1 -1
  69. data/lib/countries/cache/locales/ka.json +1 -1
  70. data/lib/countries/cache/locales/ki.json +1 -1
  71. data/lib/countries/cache/locales/kk.json +1 -1
  72. data/lib/countries/cache/locales/kl.json +1 -1
  73. data/lib/countries/cache/locales/km.json +1 -1
  74. data/lib/countries/cache/locales/kn.json +1 -1
  75. data/lib/countries/cache/locales/ko.json +1 -1
  76. data/lib/countries/cache/locales/ku.json +1 -1
  77. data/lib/countries/cache/locales/kv.json +1 -1
  78. data/lib/countries/cache/locales/kw.json +1 -1
  79. data/lib/countries/cache/locales/ky.json +1 -1
  80. data/lib/countries/cache/locales/lo.json +1 -1
  81. data/lib/countries/cache/locales/lt.json +1 -1
  82. data/lib/countries/cache/locales/lv.json +1 -1
  83. data/lib/countries/cache/locales/mi.json +1 -1
  84. data/lib/countries/cache/locales/mk.json +1 -1
  85. data/lib/countries/cache/locales/ml.json +1 -1
  86. data/lib/countries/cache/locales/mn.json +1 -1
  87. data/lib/countries/cache/locales/mr.json +1 -1
  88. data/lib/countries/cache/locales/ms.json +1 -1
  89. data/lib/countries/cache/locales/mt.json +1 -1
  90. data/lib/countries/cache/locales/my.json +1 -1
  91. data/lib/countries/cache/locales/na.json +1 -1
  92. data/lib/countries/cache/locales/nb.json +1 -1
  93. data/lib/countries/cache/locales/ne.json +1 -1
  94. data/lib/countries/cache/locales/nl.json +1 -1
  95. data/lib/countries/cache/locales/nn.json +1 -1
  96. data/lib/countries/cache/locales/nv.json +1 -1
  97. data/lib/countries/cache/locales/oc.json +1 -1
  98. data/lib/countries/cache/locales/or.json +1 -1
  99. data/lib/countries/cache/locales/pa.json +1 -1
  100. data/lib/countries/cache/locales/pi.json +1 -1
  101. data/lib/countries/cache/locales/pl.json +1 -1
  102. data/lib/countries/cache/locales/ps.json +1 -1
  103. data/lib/countries/cache/locales/pt-br.json +1 -1
  104. data/lib/countries/cache/locales/pt.json +1 -1
  105. data/lib/countries/cache/locales/ro.json +1 -1
  106. data/lib/countries/cache/locales/ru.json +1 -1
  107. data/lib/countries/cache/locales/rw.json +1 -1
  108. data/lib/countries/cache/locales/sc.json +1 -1
  109. data/lib/countries/cache/locales/sd.json +1 -1
  110. data/lib/countries/cache/locales/si.json +1 -1
  111. data/lib/countries/cache/locales/sk.json +1 -1
  112. data/lib/countries/cache/locales/sl.json +1 -1
  113. data/lib/countries/cache/locales/so.json +1 -1
  114. data/lib/countries/cache/locales/sq.json +1 -1
  115. data/lib/countries/cache/locales/sr.json +1 -1
  116. data/lib/countries/cache/locales/sv.json +1 -1
  117. data/lib/countries/cache/locales/sw.json +1 -1
  118. data/lib/countries/cache/locales/ta.json +1 -1
  119. data/lib/countries/cache/locales/te.json +1 -1
  120. data/lib/countries/cache/locales/tg.json +1 -1
  121. data/lib/countries/cache/locales/th.json +1 -1
  122. data/lib/countries/cache/locales/ti.json +1 -1
  123. data/lib/countries/cache/locales/tk.json +1 -1
  124. data/lib/countries/cache/locales/tl.json +1 -1
  125. data/lib/countries/cache/locales/tr.json +1 -1
  126. data/lib/countries/cache/locales/tt.json +1 -1
  127. data/lib/countries/cache/locales/ug.json +1 -1
  128. data/lib/countries/cache/locales/uk.json +1 -1
  129. data/lib/countries/cache/locales/ur.json +1 -1
  130. data/lib/countries/cache/locales/uz.json +1 -1
  131. data/lib/countries/cache/locales/ve.json +1 -1
  132. data/lib/countries/cache/locales/vi.json +1 -1
  133. data/lib/countries/cache/locales/wa.json +1 -1
  134. data/lib/countries/cache/locales/wo.json +1 -1
  135. data/lib/countries/cache/locales/xh.json +1 -1
  136. data/lib/countries/cache/locales/yo.json +1 -1
  137. data/lib/countries/cache/locales/zh-cn.json +1 -1
  138. data/lib/countries/cache/locales/zh-hk.json +1 -1
  139. data/lib/countries/cache/locales/zh-tw.json +1 -1
  140. data/lib/countries/cache/locales/zh.json +1 -1
  141. data/lib/countries/cache/locales/zu.json +1 -1
  142. data/lib/countries/country/class_methods.rb +18 -4
  143. data/lib/countries/country.rb +5 -0
  144. data/lib/countries/data/countries/AD.yaml +1 -0
  145. data/lib/countries/data/countries/AF.yaml +1 -0
  146. data/lib/countries/data/countries/AG.yaml +1 -1
  147. data/lib/countries/data/countries/AI.yaml +1 -0
  148. data/lib/countries/data/countries/AL.yaml +4 -3
  149. data/lib/countries/data/countries/AM.yaml +3 -2
  150. data/lib/countries/data/countries/AO.yaml +10 -10
  151. data/lib/countries/data/countries/AQ.yaml +3 -3
  152. data/lib/countries/data/countries/AR.yaml +1 -0
  153. data/lib/countries/data/countries/AS.yaml +3 -2
  154. data/lib/countries/data/countries/AT.yaml +4 -3
  155. data/lib/countries/data/countries/AU.yaml +1 -0
  156. data/lib/countries/data/countries/AX.yaml +1 -0
  157. data/lib/countries/data/countries/AZ.yaml +1 -0
  158. data/lib/countries/data/countries/BA.yaml +5 -4
  159. data/lib/countries/data/countries/BB.yaml +1 -0
  160. data/lib/countries/data/countries/BD.yaml +3 -2
  161. data/lib/countries/data/countries/BE.yaml +2 -1
  162. data/lib/countries/data/countries/BF.yaml +8 -8
  163. data/lib/countries/data/countries/BG.yaml +5 -4
  164. data/lib/countries/data/countries/BH.yaml +6 -5
  165. data/lib/countries/data/countries/BI.yaml +6 -6
  166. data/lib/countries/data/countries/BJ.yaml +2 -2
  167. data/lib/countries/data/countries/BL.yaml +1 -0
  168. data/lib/countries/data/countries/BM.yaml +1 -0
  169. data/lib/countries/data/countries/BN.yaml +2 -1
  170. data/lib/countries/data/countries/BO.yaml +1 -1
  171. data/lib/countries/data/countries/BQ.yaml +1 -1
  172. data/lib/countries/data/countries/BR.yaml +7 -6
  173. data/lib/countries/data/countries/BT.yaml +7 -6
  174. data/lib/countries/data/countries/BV.yaml +11 -11
  175. data/lib/countries/data/countries/BW.yaml +4 -4
  176. data/lib/countries/data/countries/BY.yaml +1 -0
  177. data/lib/countries/data/countries/BZ.yaml +1 -1
  178. data/lib/countries/data/countries/CA.yaml +1 -0
  179. data/lib/countries/data/countries/CC.yaml +3 -2
  180. data/lib/countries/data/countries/CF.yaml +2 -2
  181. data/lib/countries/data/countries/CG.yaml +2 -2
  182. data/lib/countries/data/countries/CH.yaml +4 -3
  183. data/lib/countries/data/countries/CI.yaml +2 -2
  184. data/lib/countries/data/countries/CL.yaml +8 -2
  185. data/lib/countries/data/countries/CN.yaml +5 -4
  186. data/lib/countries/data/countries/CO.yaml +5 -4
  187. data/lib/countries/data/countries/CR.yaml +3 -2
  188. data/lib/countries/data/countries/CU.yaml +1 -0
  189. data/lib/countries/data/countries/CV.yaml +3 -2
  190. data/lib/countries/data/countries/CW.yaml +1 -1
  191. data/lib/countries/data/countries/CX.yaml +1 -0
  192. data/lib/countries/data/countries/CY.yaml +3 -2
  193. data/lib/countries/data/countries/CZ.yaml +4 -3
  194. data/lib/countries/data/countries/DE.yaml +3 -2
  195. data/lib/countries/data/countries/DJ.yaml +6 -6
  196. data/lib/countries/data/countries/DK.yaml +3 -2
  197. data/lib/countries/data/countries/DO.yaml +1 -0
  198. data/lib/countries/data/countries/DZ.yaml +7 -6
  199. data/lib/countries/data/countries/EC.yaml +5 -4
  200. data/lib/countries/data/countries/EE.yaml +4 -3
  201. data/lib/countries/data/countries/EG.yaml +1 -0
  202. data/lib/countries/data/countries/EH.yaml +1 -0
  203. data/lib/countries/data/countries/ES.yaml +2 -1
  204. data/lib/countries/data/countries/ET.yaml +1 -0
  205. data/lib/countries/data/countries/FI.yaml +6 -5
  206. data/lib/countries/data/countries/FK.yaml +3 -2
  207. data/lib/countries/data/countries/FM.yaml +3 -2
  208. data/lib/countries/data/countries/FO.yaml +6 -5
  209. data/lib/countries/data/countries/FR.yaml +4 -3
  210. data/lib/countries/data/countries/GA.yaml +1 -1
  211. data/lib/countries/data/countries/GB.yaml +4 -0
  212. data/lib/countries/data/countries/GE.yaml +5 -4
  213. data/lib/countries/data/countries/GF.yaml +1 -0
  214. data/lib/countries/data/countries/GG.yaml +11 -10
  215. data/lib/countries/data/countries/GH.yaml +4 -4
  216. data/lib/countries/data/countries/GI.yaml +3 -2
  217. data/lib/countries/data/countries/GL.yaml +8 -7
  218. data/lib/countries/data/countries/GM.yaml +4 -4
  219. data/lib/countries/data/countries/GN.yaml +4 -3
  220. data/lib/countries/data/countries/GP.yaml +1 -0
  221. data/lib/countries/data/countries/GR.yaml +3 -2
  222. data/lib/countries/data/countries/GS.yaml +3 -2
  223. data/lib/countries/data/countries/GT.yaml +3 -2
  224. data/lib/countries/data/countries/GU.yaml +1 -0
  225. data/lib/countries/data/countries/GW.yaml +1 -0
  226. data/lib/countries/data/countries/HK.yaml +4 -4
  227. data/lib/countries/data/countries/HM.yaml +2 -1
  228. data/lib/countries/data/countries/HN.yaml +3 -2
  229. data/lib/countries/data/countries/HR.yaml +4 -3
  230. data/lib/countries/data/countries/HT.yaml +1 -0
  231. data/lib/countries/data/countries/HU.yaml +8 -7
  232. data/lib/countries/data/countries/ID.yaml +1 -0
  233. data/lib/countries/data/countries/IE.yaml +12 -11
  234. data/lib/countries/data/countries/IL.yaml +1 -0
  235. data/lib/countries/data/countries/IM.yaml +9 -8
  236. data/lib/countries/data/countries/IN.yaml +3 -2
  237. data/lib/countries/data/countries/IO.yaml +4 -3
  238. data/lib/countries/data/countries/IQ.yaml +3 -2
  239. data/lib/countries/data/countries/IR.yaml +1 -0
  240. data/lib/countries/data/countries/IS.yaml +6 -5
  241. data/lib/countries/data/countries/IT.yaml +2 -1
  242. data/lib/countries/data/countries/JE.yaml +1 -0
  243. data/lib/countries/data/countries/JO.yaml +3 -2
  244. data/lib/countries/data/countries/JP.yaml +1 -0
  245. data/lib/countries/data/countries/KE.yaml +4 -3
  246. data/lib/countries/data/countries/KG.yaml +3 -2
  247. data/lib/countries/data/countries/KH.yaml +1 -0
  248. data/lib/countries/data/countries/KI.yaml +6 -6
  249. data/lib/countries/data/countries/KP.yaml +3 -2
  250. data/lib/countries/data/countries/KR.yaml +1 -0
  251. data/lib/countries/data/countries/KW.yaml +1 -0
  252. data/lib/countries/data/countries/KY.yaml +1 -0
  253. data/lib/countries/data/countries/KZ.yaml +3 -2
  254. data/lib/countries/data/countries/LA.yaml +7 -6
  255. data/lib/countries/data/countries/LB.yaml +1 -0
  256. data/lib/countries/data/countries/LI.yaml +1 -0
  257. data/lib/countries/data/countries/LK.yaml +1 -0
  258. data/lib/countries/data/countries/LR.yaml +1 -0
  259. data/lib/countries/data/countries/LS.yaml +1 -0
  260. data/lib/countries/data/countries/LT.yaml +7 -6
  261. data/lib/countries/data/countries/LU.yaml +1 -0
  262. data/lib/countries/data/countries/LV.yaml +11 -4
  263. data/lib/countries/data/countries/LY.yaml +1 -1
  264. data/lib/countries/data/countries/MA.yaml +5 -4
  265. data/lib/countries/data/countries/MC.yaml +1 -0
  266. data/lib/countries/data/countries/MD.yaml +9 -8
  267. data/lib/countries/data/countries/ME.yaml +3 -2
  268. data/lib/countries/data/countries/MF.yaml +1 -0
  269. data/lib/countries/data/countries/MG.yaml +1 -0
  270. data/lib/countries/data/countries/MH.yaml +3 -2
  271. data/lib/countries/data/countries/MK.yaml +3 -2
  272. data/lib/countries/data/countries/ML.yaml +4 -4
  273. data/lib/countries/data/countries/MM.yaml +1 -0
  274. data/lib/countries/data/countries/MN.yaml +9 -8
  275. data/lib/countries/data/countries/MP.yaml +1 -0
  276. data/lib/countries/data/countries/MQ.yaml +1 -0
  277. data/lib/countries/data/countries/MR.yaml +2 -2
  278. data/lib/countries/data/countries/MT.yaml +3 -2
  279. data/lib/countries/data/countries/MU.yaml +2 -1
  280. data/lib/countries/data/countries/MV.yaml +3 -2
  281. data/lib/countries/data/countries/MW.yaml +2 -2
  282. data/lib/countries/data/countries/MX.yaml +5 -4
  283. data/lib/countries/data/countries/MY.yaml +3 -2
  284. data/lib/countries/data/countries/MZ.yaml +1 -0
  285. data/lib/countries/data/countries/NA.yaml +5 -4
  286. data/lib/countries/data/countries/NC.yaml +1 -0
  287. data/lib/countries/data/countries/NE.yaml +5 -4
  288. data/lib/countries/data/countries/NF.yaml +1 -0
  289. data/lib/countries/data/countries/NG.yaml +2 -1
  290. data/lib/countries/data/countries/NI.yaml +3 -2
  291. data/lib/countries/data/countries/NL.yaml +4 -3
  292. data/lib/countries/data/countries/NO.yaml +3 -2
  293. data/lib/countries/data/countries/NP.yaml +7 -6
  294. data/lib/countries/data/countries/NZ.yaml +3 -2
  295. data/lib/countries/data/countries/OM.yaml +3 -2
  296. data/lib/countries/data/countries/PA.yaml +2 -2
  297. data/lib/countries/data/countries/PE.yaml +5 -4
  298. data/lib/countries/data/countries/PF.yaml +5 -4
  299. data/lib/countries/data/countries/PG.yaml +1 -0
  300. data/lib/countries/data/countries/PH.yaml +5 -4
  301. data/lib/countries/data/countries/PK.yaml +5 -4
  302. data/lib/countries/data/countries/PL.yaml +5 -4
  303. data/lib/countries/data/countries/PM.yaml +1 -0
  304. data/lib/countries/data/countries/PN.yaml +1 -0
  305. data/lib/countries/data/countries/PR.yaml +9 -8
  306. data/lib/countries/data/countries/PS.yaml +1 -1
  307. data/lib/countries/data/countries/PT.yaml +6 -5
  308. data/lib/countries/data/countries/PW.yaml +1 -0
  309. data/lib/countries/data/countries/PY.yaml +3 -2
  310. data/lib/countries/data/countries/QA.yaml +2 -2
  311. data/lib/countries/data/countries/RE.yaml +1 -0
  312. data/lib/countries/data/countries/RO.yaml +7 -6
  313. data/lib/countries/data/countries/RS.yaml +1 -0
  314. data/lib/countries/data/countries/RU.yaml +3 -2
  315. data/lib/countries/data/countries/RW.yaml +2 -2
  316. data/lib/countries/data/countries/SA.yaml +4 -3
  317. data/lib/countries/data/countries/SB.yaml +1 -1
  318. data/lib/countries/data/countries/SC.yaml +2 -2
  319. data/lib/countries/data/countries/SD.yaml +3 -2
  320. data/lib/countries/data/countries/SE.yaml +5 -4
  321. data/lib/countries/data/countries/SG.yaml +1 -0
  322. data/lib/countries/data/countries/SH.yaml +5 -4
  323. data/lib/countries/data/countries/SI.yaml +5 -4
  324. data/lib/countries/data/countries/SJ.yaml +6 -5
  325. data/lib/countries/data/countries/SK.yaml +7 -6
  326. data/lib/countries/data/countries/SL.yaml +2 -2
  327. data/lib/countries/data/countries/SM.yaml +1 -0
  328. data/lib/countries/data/countries/SN.yaml +5 -4
  329. data/lib/countries/data/countries/SO.yaml +2 -1
  330. data/lib/countries/data/countries/SS.yaml +2 -2
  331. data/lib/countries/data/countries/SV.yaml +1 -0
  332. data/lib/countries/data/countries/SX.yaml +1 -1
  333. data/lib/countries/data/countries/SZ.yaml +1 -0
  334. data/lib/countries/data/countries/TC.yaml +1 -0
  335. data/lib/countries/data/countries/TD.yaml +1 -1
  336. data/lib/countries/data/countries/TF.yaml +5 -5
  337. data/lib/countries/data/countries/TG.yaml +7 -7
  338. data/lib/countries/data/countries/TH.yaml +3 -1
  339. data/lib/countries/data/countries/TJ.yaml +1 -0
  340. data/lib/countries/data/countries/TM.yaml +1 -0
  341. data/lib/countries/data/countries/TN.yaml +1 -0
  342. data/lib/countries/data/countries/TR.yaml +1 -0
  343. data/lib/countries/data/countries/TV.yaml +3 -3
  344. data/lib/countries/data/countries/TW.yaml +1 -0
  345. data/lib/countries/data/countries/TZ.yaml +4 -3
  346. data/lib/countries/data/countries/UA.yaml +7 -6
  347. data/lib/countries/data/countries/UG.yaml +4 -4
  348. data/lib/countries/data/countries/UM.yaml +1 -0
  349. data/lib/countries/data/countries/US.yaml +1 -0
  350. data/lib/countries/data/countries/UY.yaml +3 -2
  351. data/lib/countries/data/countries/UZ.yaml +1 -0
  352. data/lib/countries/data/countries/VA.yaml +1 -0
  353. data/lib/countries/data/countries/VC.yaml +3 -2
  354. data/lib/countries/data/countries/VE.yaml +3 -2
  355. data/lib/countries/data/countries/VG.yaml +2 -1
  356. data/lib/countries/data/countries/VI.yaml +1 -0
  357. data/lib/countries/data/countries/VN.yaml +11 -4
  358. data/lib/countries/data/countries/WF.yaml +1 -0
  359. data/lib/countries/data/countries/WS.yaml +3 -3
  360. data/lib/countries/data/countries/YT.yaml +1 -0
  361. data/lib/countries/data/countries/ZA.yaml +5 -4
  362. data/lib/countries/data/countries/ZM.yaml +5 -4
  363. data/lib/countries/data/countries/ZW.yaml +4 -4
  364. data/lib/countries/data/subdivisions/AD.yaml +35 -28
  365. data/lib/countries/data/subdivisions/AE.yaml +154 -63
  366. data/lib/countries/data/subdivisions/AF.yaml +605 -300
  367. data/lib/countries/data/subdivisions/AG.yaml +149 -67
  368. data/lib/countries/data/subdivisions/AI.yaml +139 -125
  369. data/lib/countries/data/subdivisions/AL.yaml +472 -144
  370. data/lib/countries/data/subdivisions/AM.yaml +236 -88
  371. data/lib/countries/data/subdivisions/AO.yaml +344 -144
  372. data/lib/countries/data/subdivisions/AR.yaml +450 -187
  373. data/lib/countries/data/subdivisions/AS.yaml +34 -15
  374. data/lib/countries/data/subdivisions/AT.yaml +202 -72
  375. data/lib/countries/data/subdivisions/AU.yaml +212 -64
  376. data/lib/countries/data/subdivisions/AW.yaml +9 -0
  377. data/lib/countries/data/subdivisions/AX.yaml +20 -9
  378. data/lib/countries/data/subdivisions/AZ.yaml +1550 -592
  379. data/lib/countries/data/subdivisions/BA.yaml +189 -16
  380. data/lib/countries/data/subdivisions/BB.yaml +190 -88
  381. data/lib/countries/data/subdivisions/BD.yaml +1192 -519
  382. data/lib/countries/data/subdivisions/BE.yaml +278 -88
  383. data/lib/countries/data/subdivisions/BF.yaml +993 -366
  384. data/lib/countries/data/subdivisions/BG.yaml +600 -219
  385. data/lib/countries/data/subdivisions/BH.yaml +72 -35
  386. data/lib/countries/data/subdivisions/BI.yaml +298 -123
  387. data/lib/countries/data/subdivisions/BJ.yaml +226 -96
  388. data/lib/countries/data/subdivisions/BL.yaml +11 -0
  389. data/lib/countries/data/subdivisions/BM.yaml +110 -99
  390. data/lib/countries/data/subdivisions/BN.yaml +63 -32
  391. data/lib/countries/data/subdivisions/BO.yaml +157 -72
  392. data/lib/countries/data/subdivisions/BQ.yaml +63 -24
  393. data/lib/countries/data/subdivisions/BR.yaml +689 -216
  394. data/lib/countries/data/subdivisions/BS.yaml +625 -108
  395. data/lib/countries/data/subdivisions/BT.yaml +346 -160
  396. data/lib/countries/data/subdivisions/BW.yaml +294 -72
  397. data/lib/countries/data/subdivisions/BY.yaml +140 -51
  398. data/lib/countries/data/subdivisions/BZ.yaml +97 -48
  399. data/lib/countries/data/subdivisions/CA.yaml +358 -105
  400. data/lib/countries/data/subdivisions/CD.yaml +451 -68
  401. data/lib/countries/data/subdivisions/CF.yaml +291 -136
  402. data/lib/countries/data/subdivisions/CG.yaml +217 -88
  403. data/lib/countries/data/subdivisions/CH.yaml +593 -208
  404. data/lib/countries/data/subdivisions/CI.yaml +431 -66
  405. data/lib/countries/data/subdivisions/CK.yaml +110 -99
  406. data/lib/countries/data/subdivisions/CL.yaml +262 -132
  407. data/lib/countries/data/subdivisions/CM.yaml +190 -80
  408. data/lib/countries/data/subdivisions/CN.yaml +725 -46
  409. data/lib/countries/data/subdivisions/CO.yaml +643 -264
  410. data/lib/countries/data/subdivisions/CP.yaml +4 -0
  411. data/lib/countries/data/subdivisions/CR.yaml +119 -56
  412. data/lib/countries/data/subdivisions/CU.yaml +268 -128
  413. data/lib/countries/data/subdivisions/CV.yaml +414 -126
  414. data/lib/countries/data/subdivisions/CW.yaml +9 -0
  415. data/lib/countries/data/subdivisions/CY.yaml +102 -48
  416. data/lib/countries/data/subdivisions/CZ.yaml +2430 -53
  417. data/lib/countries/data/subdivisions/DE.yaml +468 -128
  418. data/lib/countries/data/subdivisions/DJ.yaml +110 -48
  419. data/lib/countries/data/subdivisions/DK.yaml +186 -96
  420. data/lib/countries/data/subdivisions/DM.yaml +159 -80
  421. data/lib/countries/data/subdivisions/DO.yaml +660 -248
  422. data/lib/countries/data/subdivisions/DZ.yaml +809 -384
  423. data/lib/countries/data/subdivisions/EC.yaml +391 -192
  424. data/lib/countries/data/subdivisions/EE.yaml +543 -120
  425. data/lib/countries/data/subdivisions/EG.yaml +472 -216
  426. data/lib/countries/data/subdivisions/EH.yaml +24 -16
  427. data/lib/countries/data/subdivisions/ER.yaml +109 -48
  428. data/lib/countries/data/subdivisions/ES.yaml +1740 -437
  429. data/lib/countries/data/subdivisions/ET.yaml +207 -88
  430. data/lib/countries/data/subdivisions/FI.yaml +421 -37
  431. data/lib/countries/data/subdivisions/FJ.yaml +314 -40
  432. data/lib/countries/data/subdivisions/FM.yaml +63 -32
  433. data/lib/countries/data/subdivisions/FO.yaml +60 -54
  434. data/lib/countries/data/subdivisions/FR.yaml +2861 -922
  435. data/lib/countries/data/subdivisions/GA.yaml +159 -72
  436. data/lib/countries/data/subdivisions/GB.yaml +4979 -1771
  437. data/lib/countries/data/subdivisions/GD.yaml +114 -56
  438. data/lib/countries/data/subdivisions/GE.yaml +238 -96
  439. data/lib/countries/data/subdivisions/GF.yaml +11 -0
  440. data/lib/countries/data/subdivisions/GG.yaml +110 -99
  441. data/lib/countries/data/subdivisions/GH.yaml +266 -79
  442. data/lib/countries/data/subdivisions/GL.yaml +89 -0
  443. data/lib/countries/data/subdivisions/GM.yaml +124 -48
  444. data/lib/countries/data/subdivisions/GN.yaml +711 -274
  445. data/lib/countries/data/subdivisions/GP.yaml +11 -0
  446. data/lib/countries/data/subdivisions/GQ.yaml +143 -72
  447. data/lib/countries/data/subdivisions/GR.yaml +594 -165
  448. data/lib/countries/data/subdivisions/GT.yaml +351 -176
  449. data/lib/countries/data/subdivisions/GU.yaml +85 -58
  450. data/lib/countries/data/subdivisions/GW.yaml +192 -72
  451. data/lib/countries/data/subdivisions/GY.yaml +163 -80
  452. data/lib/countries/data/subdivisions/HK.yaml +86 -54
  453. data/lib/countries/data/subdivisions/HN.yaml +274 -144
  454. data/lib/countries/data/subdivisions/HR.yaml +429 -168
  455. data/lib/countries/data/subdivisions/HT.yaml +179 -72
  456. data/lib/countries/data/subdivisions/HU.yaml +791 -339
  457. data/lib/countries/data/subdivisions/IC.yaml +4 -0
  458. data/lib/countries/data/subdivisions/ID.yaml +2376 -1858
  459. data/lib/countries/data/subdivisions/IE.yaml +650 -259
  460. data/lib/countries/data/subdivisions/IL.yaml +114 -48
  461. data/lib/countries/data/subdivisions/IM.yaml +240 -216
  462. data/lib/countries/data/subdivisions/IN.yaml +1005 -298
  463. data/lib/countries/data/subdivisions/IQ.yaml +316 -139
  464. data/lib/countries/data/subdivisions/IR.yaml +596 -239
  465. data/lib/countries/data/subdivisions/IS.yaml +373 -67
  466. data/lib/countries/data/subdivisions/IT.yaml +2693 -880
  467. data/lib/countries/data/subdivisions/JE.yaml +120 -108
  468. data/lib/countries/data/subdivisions/JM.yaml +243 -112
  469. data/lib/countries/data/subdivisions/JO.yaml +193 -96
  470. data/lib/countries/data/subdivisions/JP.yaml +950 -376
  471. data/lib/countries/data/subdivisions/KE.yaml +807 -40
  472. data/lib/countries/data/subdivisions/KG.yaml +188 -64
  473. data/lib/countries/data/subdivisions/KH.yaml +437 -192
  474. data/lib/countries/data/subdivisions/KI.yaml +57 -24
  475. data/lib/countries/data/subdivisions/KM.yaml +49 -24
  476. data/lib/countries/data/subdivisions/KN.yaml +308 -112
  477. data/lib/countries/data/subdivisions/KP.yaml +365 -57
  478. data/lib/countries/data/subdivisions/KR.yaml +393 -128
  479. data/lib/countries/data/subdivisions/KW.yaml +87 -48
  480. data/lib/countries/data/subdivisions/KY.yaml +36 -24
  481. data/lib/countries/data/subdivisions/KZ.yaml +362 -135
  482. data/lib/countries/data/subdivisions/LA.yaml +300 -145
  483. data/lib/countries/data/subdivisions/LB.yaml +134 -48
  484. data/lib/countries/data/subdivisions/LC.yaml +166 -0
  485. data/lib/countries/data/subdivisions/LI.yaml +186 -88
  486. data/lib/countries/data/subdivisions/LK.yaml +544 -200
  487. data/lib/countries/data/subdivisions/LR.yaml +252 -110
  488. data/lib/countries/data/subdivisions/LS.yaml +149 -80
  489. data/lib/countries/data/subdivisions/LT.yaml +1042 -80
  490. data/lib/countries/data/subdivisions/LU.yaml +200 -17
  491. data/lib/countries/data/subdivisions/LV.yaml +2399 -223
  492. data/lib/countries/data/subdivisions/LY.yaml +339 -162
  493. data/lib/countries/data/subdivisions/MA.yaml +1443 -484
  494. data/lib/countries/data/subdivisions/MC.yaml +250 -0
  495. data/lib/countries/data/subdivisions/MD.yaml +638 -93
  496. data/lib/countries/data/subdivisions/ME.yaml +425 -168
  497. data/lib/countries/data/subdivisions/MF.yaml +9 -0
  498. data/lib/countries/data/subdivisions/MG.yaml +93 -48
  499. data/lib/countries/data/subdivisions/MH.yaml +422 -199
  500. data/lib/countries/data/subdivisions/MK.yaml +2972 -255
  501. data/lib/countries/data/subdivisions/ML.yaml +187 -71
  502. data/lib/countries/data/subdivisions/MM.yaml +287 -112
  503. data/lib/countries/data/subdivisions/MN.yaml +421 -176
  504. data/lib/countries/data/subdivisions/MO.yaml +9 -0
  505. data/lib/countries/data/subdivisions/MP.yaml +30 -12
  506. data/lib/countries/data/subdivisions/MQ.yaml +11 -0
  507. data/lib/countries/data/subdivisions/MR.yaml +245 -99
  508. data/lib/countries/data/subdivisions/MS.yaml +30 -27
  509. data/lib/countries/data/subdivisions/MT.yaml +1059 -544
  510. data/lib/countries/data/subdivisions/MU.yaml +317 -131
  511. data/lib/countries/data/subdivisions/MV.yaml +457 -163
  512. data/lib/countries/data/subdivisions/MW.yaml +537 -216
  513. data/lib/countries/data/subdivisions/MX.yaml +709 -256
  514. data/lib/countries/data/subdivisions/MY.yaml +336 -128
  515. data/lib/countries/data/subdivisions/MZ.yaml +191 -83
  516. data/lib/countries/data/subdivisions/NA.yaml +220 -107
  517. data/lib/countries/data/subdivisions/NC.yaml +26 -9
  518. data/lib/countries/data/subdivisions/NE.yaml +170 -64
  519. data/lib/countries/data/subdivisions/NG.yaml +870 -296
  520. data/lib/countries/data/subdivisions/NI.yaml +260 -136
  521. data/lib/countries/data/subdivisions/NL.yaml +381 -96
  522. data/lib/countries/data/subdivisions/NO.yaml +1087 -268
  523. data/lib/countries/data/subdivisions/NP.yaml +383 -112
  524. data/lib/countries/data/subdivisions/NR.yaml +260 -112
  525. data/lib/countries/data/subdivisions/NZ.yaml +318 -131
  526. data/lib/countries/data/subdivisions/OM.yaml +202 -52
  527. data/lib/countries/data/subdivisions/PA.yaml +203 -99
  528. data/lib/countries/data/subdivisions/PE.yaml +418 -208
  529. data/lib/countries/data/subdivisions/PF.yaml +30 -15
  530. data/lib/countries/data/subdivisions/PG.yaml +381 -155
  531. data/lib/countries/data/subdivisions/PH.yaml +1855 -662
  532. data/lib/countries/data/subdivisions/PK.yaml +185 -54
  533. data/lib/countries/data/subdivisions/PL.yaml +1176 -127
  534. data/lib/countries/data/subdivisions/PM.yaml +18 -6
  535. data/lib/countries/data/subdivisions/PR.yaml +326 -234
  536. data/lib/countries/data/subdivisions/PS.yaml +257 -0
  537. data/lib/countries/data/subdivisions/PT.yaml +342 -160
  538. data/lib/countries/data/subdivisions/PW.yaml +269 -128
  539. data/lib/countries/data/subdivisions/PY.yaml +321 -144
  540. data/lib/countries/data/subdivisions/QA.yaml +168 -65
  541. data/lib/countries/data/subdivisions/RE.yaml +11 -0
  542. data/lib/countries/data/subdivisions/RO.yaml +729 -336
  543. data/lib/countries/data/subdivisions/RS.yaml +589 -240
  544. data/lib/countries/data/subdivisions/RU.yaml +1875 -665
  545. data/lib/countries/data/subdivisions/RW.yaml +102 -40
  546. data/lib/countries/data/subdivisions/SA.yaml +234 -104
  547. data/lib/countries/data/subdivisions/SB.yaml +169 -80
  548. data/lib/countries/data/subdivisions/SC.yaml +462 -184
  549. data/lib/countries/data/subdivisions/SD.yaml +163 -22
  550. data/lib/countries/data/subdivisions/SE.yaml +435 -237
  551. data/lib/countries/data/subdivisions/SG.yaml +111 -19
  552. data/lib/countries/data/subdivisions/SH.yaml +67 -14
  553. data/lib/countries/data/subdivisions/SI.yaml +3570 -1549
  554. data/lib/countries/data/subdivisions/SJ.yaml +20 -18
  555. data/lib/countries/data/subdivisions/SK.yaml +129 -64
  556. data/lib/countries/data/subdivisions/SL.yaml +80 -31
  557. data/lib/countries/data/subdivisions/SM.yaml +159 -72
  558. data/lib/countries/data/subdivisions/SN.yaml +233 -88
  559. data/lib/countries/data/subdivisions/SO.yaml +311 -144
  560. data/lib/countries/data/subdivisions/SR.yaml +158 -80
  561. data/lib/countries/data/subdivisions/SS.yaml +196 -0
  562. data/lib/countries/data/subdivisions/ST.yaml +49 -16
  563. data/lib/countries/data/subdivisions/SV.yaml +231 -112
  564. data/lib/countries/data/subdivisions/SX.yaml +9 -0
  565. data/lib/countries/data/subdivisions/SY.yaml +220 -112
  566. data/lib/countries/data/subdivisions/SZ.yaml +65 -32
  567. data/lib/countries/data/subdivisions/TA.yaml +4 -0
  568. data/lib/countries/data/subdivisions/TD.yaml +409 -139
  569. data/lib/countries/data/subdivisions/TF.yaml +38 -20
  570. data/lib/countries/data/subdivisions/TG.yaml +75 -40
  571. data/lib/countries/data/subdivisions/TH.yaml +1451 -616
  572. data/lib/countries/data/subdivisions/TJ.yaml +100 -24
  573. data/lib/countries/data/subdivisions/TK.yaml +30 -27
  574. data/lib/countries/data/subdivisions/TL.yaml +209 -104
  575. data/lib/countries/data/subdivisions/TM.yaml +116 -40
  576. data/lib/countries/data/subdivisions/TN.yaml +412 -192
  577. data/lib/countries/data/subdivisions/TO.yaml +75 -40
  578. data/lib/countries/data/subdivisions/TR.yaml +1817 -648
  579. data/lib/countries/data/subdivisions/TT.yaml +296 -113
  580. data/lib/countries/data/subdivisions/TV.yaml +133 -59
  581. data/lib/countries/data/subdivisions/TW.yaml +481 -164
  582. data/lib/countries/data/subdivisions/TZ.yaml +661 -208
  583. data/lib/countries/data/subdivisions/UA.yaml +505 -216
  584. data/lib/countries/data/subdivisions/UG.yaml +2262 -640
  585. data/lib/countries/data/subdivisions/UM.yaml +216 -71
  586. data/lib/countries/data/subdivisions/US.yaml +1658 -464
  587. data/lib/countries/data/subdivisions/UY.yaml +367 -152
  588. data/lib/countries/data/subdivisions/UZ.yaml +289 -113
  589. data/lib/countries/data/subdivisions/VC.yaml +101 -48
  590. data/lib/countries/data/subdivisions/VE.yaml +456 -200
  591. data/lib/countries/data/subdivisions/VI.yaml +26 -9
  592. data/lib/countries/data/subdivisions/VN.yaml +3664 -2996
  593. data/lib/countries/data/subdivisions/VU.yaml +98 -48
  594. data/lib/countries/data/subdivisions/WF.yaml +73 -0
  595. data/lib/countries/data/subdivisions/WS.yaml +200 -88
  596. data/lib/countries/data/subdivisions/YE.yaml +375 -152
  597. data/lib/countries/data/subdivisions/YT.yaml +76 -51
  598. data/lib/countries/data/subdivisions/ZA.yaml +238 -72
  599. data/lib/countries/data/subdivisions/ZM.yaml +157 -72
  600. data/lib/countries/data/subdivisions/ZW.yaml +152 -73
  601. data/lib/countries/data/translation_corrections.yaml +10 -1
  602. data/lib/countries/data.rb +47 -18
  603. data/lib/countries/sources/cldr/downloader.rb +12 -13
  604. data/lib/countries/structure.rb +1 -0
  605. data/lib/countries/tasks/geocoding.rake +9 -16
  606. data/lib/countries/tasks/postal_codes.rake +48 -0
  607. data/lib/countries/translations.rb +1 -1
  608. data/lib/countries/version.rb +1 -1
  609. data/lib/countries.rb +0 -1
  610. data/spec/country_spec.rb +73 -2
  611. data/spec/data_spec.rb +4 -4
  612. data/spec/thread_safety_spec.rb +46 -0
  613. metadata +34 -26
  614. data/.travis.yml +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a6f964f9f6d5d06e0773625649490961b764e781f95d011bec612662e1c47c64
4
- data.tar.gz: 0a962cd9aeab0c7c61d0b406245ea97b82a15d540276dcbdee064f2f90502354
3
+ metadata.gz: 9f515a372fb48e8827f4e8d961fc3711360e4211bf9a63a58f86034c6a06d909
4
+ data.tar.gz: 98550c7ff8450b2b83e4f5cdf8dc38238d9378f5b44931e2d2cbf71cf454b245
5
5
  SHA512:
6
- metadata.gz: 1652cc8e86f803686eeff1e69aec101dddf0c38e0ecf5c02ab9515894d40a404fc54d0ac57495706a30ffeb034ef73d03629dc7783d9d7f928633ff7d35cecd8
7
- data.tar.gz: cc133883802afb9a553f1a80b75eb4acdf9cee760267767c39ba9d44af06647ab67b6391f2cc2db6fa7ca543b16cbf3b1afd5376b15d37db577bedfd8ce7ee2d
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
@@ -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,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
- ## [v3.0.1](https://github.com/hexorx/countries/tree/HEAD) (2020/02/11 00:04 +05:00)
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
@@ -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
 
@@ -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
- ``` 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,40 @@ 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
+
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
- ``` ruby
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
- ``` ruby
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
- ``` ruby
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][] template system.
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
- ``` ruby
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
- ``` ruby
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
- ``` ruby
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
- ``` ruby
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 ```rake update_cache```
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/hexorx/countries'
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.add_dependency('i18n_data', '~> 0.10.0')
19
- gem.add_dependency('unicode_utils', '~> 1.4')
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')