countries 3.1.0 → 4.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (399) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +37 -0
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +71 -1
  5. data/Gemfile +5 -0
  6. data/README.markdown +50 -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/an.json +1 -1
  11. data/lib/countries/cache/locales/be.json +1 -1
  12. data/lib/countries/cache/locales/cv.json +1 -1
  13. data/lib/countries/cache/locales/he.json +1 -1
  14. data/lib/countries/cache/locales/hr.json +1 -1
  15. data/lib/countries/cache/locales/mk.json +1 -1
  16. data/lib/countries/cache/locales/ru.json +1 -1
  17. data/lib/countries/cache/locales/sr.json +1 -1
  18. data/lib/countries/cache/locales/sv.json +1 -1
  19. data/lib/countries/cache/locales/tr.json +1 -1
  20. data/lib/countries/country/class_methods.rb +19 -5
  21. data/lib/countries/country.rb +4 -0
  22. data/lib/countries/data/countries/AL.yaml +2 -2
  23. data/lib/countries/data/countries/AM.yaml +2 -2
  24. data/lib/countries/data/countries/AO.yaml +10 -10
  25. data/lib/countries/data/countries/AQ.yaml +2 -2
  26. data/lib/countries/data/countries/AS.yaml +2 -2
  27. data/lib/countries/data/countries/AT.yaml +3 -3
  28. data/lib/countries/data/countries/BA.yaml +4 -4
  29. data/lib/countries/data/countries/BD.yaml +2 -2
  30. data/lib/countries/data/countries/BE.yaml +1 -1
  31. data/lib/countries/data/countries/BF.yaml +8 -8
  32. data/lib/countries/data/countries/BG.yaml +4 -4
  33. data/lib/countries/data/countries/BH.yaml +4 -4
  34. data/lib/countries/data/countries/BI.yaml +6 -6
  35. data/lib/countries/data/countries/BJ.yaml +2 -2
  36. data/lib/countries/data/countries/BR.yaml +4 -4
  37. data/lib/countries/data/countries/BT.yaml +6 -6
  38. data/lib/countries/data/countries/BV.yaml +10 -10
  39. data/lib/countries/data/countries/BW.yaml +4 -4
  40. data/lib/countries/data/countries/CC.yaml +2 -2
  41. data/lib/countries/data/countries/CF.yaml +2 -2
  42. data/lib/countries/data/countries/CG.yaml +2 -2
  43. data/lib/countries/data/countries/CH.yaml +3 -3
  44. data/lib/countries/data/countries/CI.yaml +2 -2
  45. data/lib/countries/data/countries/CL.yaml +2 -2
  46. data/lib/countries/data/countries/CN.yaml +4 -4
  47. data/lib/countries/data/countries/CO.yaml +4 -4
  48. data/lib/countries/data/countries/CR.yaml +2 -2
  49. data/lib/countries/data/countries/CV.yaml +2 -2
  50. data/lib/countries/data/countries/CY.yaml +2 -2
  51. data/lib/countries/data/countries/CZ.yaml +3 -3
  52. data/lib/countries/data/countries/DE.yaml +2 -2
  53. data/lib/countries/data/countries/DJ.yaml +6 -6
  54. data/lib/countries/data/countries/DK.yaml +2 -2
  55. data/lib/countries/data/countries/DZ.yaml +6 -6
  56. data/lib/countries/data/countries/EC.yaml +4 -4
  57. data/lib/countries/data/countries/EE.yaml +3 -3
  58. data/lib/countries/data/countries/ES.yaml +1 -1
  59. data/lib/countries/data/countries/FI.yaml +5 -5
  60. data/lib/countries/data/countries/FK.yaml +2 -2
  61. data/lib/countries/data/countries/FM.yaml +2 -2
  62. data/lib/countries/data/countries/FO.yaml +5 -5
  63. data/lib/countries/data/countries/FR.yaml +3 -3
  64. data/lib/countries/data/countries/GE.yaml +4 -4
  65. data/lib/countries/data/countries/GG.yaml +10 -10
  66. data/lib/countries/data/countries/GH.yaml +4 -4
  67. data/lib/countries/data/countries/GI.yaml +2 -2
  68. data/lib/countries/data/countries/GL.yaml +6 -6
  69. data/lib/countries/data/countries/GM.yaml +4 -4
  70. data/lib/countries/data/countries/GN.yaml +2 -2
  71. data/lib/countries/data/countries/GR.yaml +2 -2
  72. data/lib/countries/data/countries/GS.yaml +2 -2
  73. data/lib/countries/data/countries/GT.yaml +2 -2
  74. data/lib/countries/data/countries/HK.yaml +4 -4
  75. data/lib/countries/data/countries/HN.yaml +2 -2
  76. data/lib/countries/data/countries/HR.yaml +3 -3
  77. data/lib/countries/data/countries/HU.yaml +7 -7
  78. data/lib/countries/data/countries/IE.yaml +10 -10
  79. data/lib/countries/data/countries/IM.yaml +8 -8
  80. data/lib/countries/data/countries/IN.yaml +2 -2
  81. data/lib/countries/data/countries/IO.yaml +2 -2
  82. data/lib/countries/data/countries/IQ.yaml +2 -2
  83. data/lib/countries/data/countries/IS.yaml +4 -4
  84. data/lib/countries/data/countries/IT.yaml +1 -1
  85. data/lib/countries/data/countries/JO.yaml +2 -2
  86. data/lib/countries/data/countries/KE.yaml +2 -2
  87. data/lib/countries/data/countries/KG.yaml +2 -2
  88. data/lib/countries/data/countries/KI.yaml +6 -6
  89. data/lib/countries/data/countries/KP.yaml +3 -2
  90. data/lib/countries/data/countries/KZ.yaml +2 -2
  91. data/lib/countries/data/countries/LA.yaml +6 -6
  92. data/lib/countries/data/countries/LT.yaml +6 -6
  93. data/lib/countries/data/countries/LV.yaml +4 -4
  94. data/lib/countries/data/countries/MA.yaml +4 -4
  95. data/lib/countries/data/countries/MD.yaml +8 -8
  96. data/lib/countries/data/countries/ME.yaml +2 -2
  97. data/lib/countries/data/countries/MH.yaml +2 -2
  98. data/lib/countries/data/countries/MK.yaml +2 -2
  99. data/lib/countries/data/countries/ML.yaml +4 -4
  100. data/lib/countries/data/countries/MN.yaml +8 -8
  101. data/lib/countries/data/countries/MR.yaml +2 -2
  102. data/lib/countries/data/countries/MT.yaml +2 -2
  103. data/lib/countries/data/countries/MV.yaml +2 -2
  104. data/lib/countries/data/countries/MW.yaml +2 -2
  105. data/lib/countries/data/countries/MX.yaml +2 -2
  106. data/lib/countries/data/countries/MY.yaml +2 -2
  107. data/lib/countries/data/countries/NA.yaml +4 -4
  108. data/lib/countries/data/countries/NE.yaml +4 -4
  109. data/lib/countries/data/countries/NI.yaml +2 -2
  110. data/lib/countries/data/countries/NL.yaml +3 -3
  111. data/lib/countries/data/countries/NO.yaml +4 -4
  112. data/lib/countries/data/countries/NP.yaml +6 -6
  113. data/lib/countries/data/countries/OM.yaml +2 -2
  114. data/lib/countries/data/countries/PA.yaml +2 -2
  115. data/lib/countries/data/countries/PE.yaml +4 -4
  116. data/lib/countries/data/countries/PF.yaml +4 -4
  117. data/lib/countries/data/countries/PH.yaml +2 -2
  118. data/lib/countries/data/countries/PK.yaml +4 -4
  119. data/lib/countries/data/countries/PL.yaml +4 -4
  120. data/lib/countries/data/countries/PR.yaml +8 -8
  121. data/lib/countries/data/countries/PT.yaml +5 -5
  122. data/lib/countries/data/countries/PY.yaml +2 -2
  123. data/lib/countries/data/countries/QA.yaml +2 -2
  124. data/lib/countries/data/countries/RO.yaml +6 -6
  125. data/lib/countries/data/countries/RU.yaml +2 -2
  126. data/lib/countries/data/countries/RW.yaml +2 -2
  127. data/lib/countries/data/countries/SA.yaml +2 -2
  128. data/lib/countries/data/countries/SC.yaml +2 -2
  129. data/lib/countries/data/countries/SD.yaml +2 -2
  130. data/lib/countries/data/countries/SE.yaml +4 -4
  131. data/lib/countries/data/countries/SH.yaml +4 -4
  132. data/lib/countries/data/countries/SI.yaml +4 -4
  133. data/lib/countries/data/countries/SJ.yaml +5 -5
  134. data/lib/countries/data/countries/SK.yaml +6 -6
  135. data/lib/countries/data/countries/SL.yaml +2 -2
  136. data/lib/countries/data/countries/SN.yaml +4 -4
  137. data/lib/countries/data/countries/TF.yaml +5 -5
  138. data/lib/countries/data/countries/TG.yaml +6 -6
  139. data/lib/countries/data/countries/TV.yaml +2 -2
  140. data/lib/countries/data/countries/TZ.yaml +2 -2
  141. data/lib/countries/data/countries/UA.yaml +5 -5
  142. data/lib/countries/data/countries/UG.yaml +4 -4
  143. data/lib/countries/data/countries/UY.yaml +2 -2
  144. data/lib/countries/data/countries/VC.yaml +2 -2
  145. data/lib/countries/data/countries/VE.yaml +2 -2
  146. data/lib/countries/data/countries/VN.yaml +4 -4
  147. data/lib/countries/data/countries/WS.yaml +2 -2
  148. data/lib/countries/data/countries/ZA.yaml +2 -2
  149. data/lib/countries/data/countries/ZM.yaml +4 -4
  150. data/lib/countries/data/countries/ZW.yaml +4 -4
  151. data/lib/countries/data/subdivisions/AD.yaml +35 -28
  152. data/lib/countries/data/subdivisions/AE.yaml +154 -63
  153. data/lib/countries/data/subdivisions/AF.yaml +605 -300
  154. data/lib/countries/data/subdivisions/AG.yaml +149 -67
  155. data/lib/countries/data/subdivisions/AI.yaml +139 -125
  156. data/lib/countries/data/subdivisions/AL.yaml +472 -144
  157. data/lib/countries/data/subdivisions/AM.yaml +236 -88
  158. data/lib/countries/data/subdivisions/AO.yaml +344 -144
  159. data/lib/countries/data/subdivisions/AR.yaml +450 -187
  160. data/lib/countries/data/subdivisions/AS.yaml +34 -15
  161. data/lib/countries/data/subdivisions/AT.yaml +202 -72
  162. data/lib/countries/data/subdivisions/AU.yaml +212 -64
  163. data/lib/countries/data/subdivisions/AW.yaml +9 -0
  164. data/lib/countries/data/subdivisions/AX.yaml +20 -9
  165. data/lib/countries/data/subdivisions/AZ.yaml +1550 -592
  166. data/lib/countries/data/subdivisions/BA.yaml +189 -16
  167. data/lib/countries/data/subdivisions/BB.yaml +190 -88
  168. data/lib/countries/data/subdivisions/BD.yaml +1192 -519
  169. data/lib/countries/data/subdivisions/BE.yaml +278 -88
  170. data/lib/countries/data/subdivisions/BF.yaml +993 -366
  171. data/lib/countries/data/subdivisions/BG.yaml +600 -219
  172. data/lib/countries/data/subdivisions/BH.yaml +72 -35
  173. data/lib/countries/data/subdivisions/BI.yaml +298 -123
  174. data/lib/countries/data/subdivisions/BJ.yaml +226 -96
  175. data/lib/countries/data/subdivisions/BL.yaml +11 -0
  176. data/lib/countries/data/subdivisions/BM.yaml +110 -99
  177. data/lib/countries/data/subdivisions/BN.yaml +63 -32
  178. data/lib/countries/data/subdivisions/BO.yaml +157 -72
  179. data/lib/countries/data/subdivisions/BQ.yaml +63 -24
  180. data/lib/countries/data/subdivisions/BR.yaml +689 -216
  181. data/lib/countries/data/subdivisions/BS.yaml +625 -108
  182. data/lib/countries/data/subdivisions/BT.yaml +346 -160
  183. data/lib/countries/data/subdivisions/BW.yaml +294 -72
  184. data/lib/countries/data/subdivisions/BY.yaml +140 -51
  185. data/lib/countries/data/subdivisions/BZ.yaml +97 -48
  186. data/lib/countries/data/subdivisions/CA.yaml +358 -105
  187. data/lib/countries/data/subdivisions/CD.yaml +451 -68
  188. data/lib/countries/data/subdivisions/CF.yaml +291 -136
  189. data/lib/countries/data/subdivisions/CG.yaml +217 -88
  190. data/lib/countries/data/subdivisions/CH.yaml +593 -208
  191. data/lib/countries/data/subdivisions/CI.yaml +431 -66
  192. data/lib/countries/data/subdivisions/CK.yaml +110 -99
  193. data/lib/countries/data/subdivisions/CL.yaml +262 -132
  194. data/lib/countries/data/subdivisions/CM.yaml +190 -80
  195. data/lib/countries/data/subdivisions/CN.yaml +691 -12
  196. data/lib/countries/data/subdivisions/CO.yaml +643 -264
  197. data/lib/countries/data/subdivisions/CP.yaml +4 -0
  198. data/lib/countries/data/subdivisions/CR.yaml +119 -56
  199. data/lib/countries/data/subdivisions/CU.yaml +268 -128
  200. data/lib/countries/data/subdivisions/CV.yaml +414 -126
  201. data/lib/countries/data/subdivisions/CW.yaml +9 -0
  202. data/lib/countries/data/subdivisions/CY.yaml +102 -48
  203. data/lib/countries/data/subdivisions/CZ.yaml +2430 -53
  204. data/lib/countries/data/subdivisions/DE.yaml +468 -128
  205. data/lib/countries/data/subdivisions/DJ.yaml +110 -48
  206. data/lib/countries/data/subdivisions/DK.yaml +186 -96
  207. data/lib/countries/data/subdivisions/DM.yaml +159 -80
  208. data/lib/countries/data/subdivisions/DO.yaml +660 -248
  209. data/lib/countries/data/subdivisions/DZ.yaml +809 -384
  210. data/lib/countries/data/subdivisions/EC.yaml +391 -192
  211. data/lib/countries/data/subdivisions/EE.yaml +543 -120
  212. data/lib/countries/data/subdivisions/EG.yaml +472 -216
  213. data/lib/countries/data/subdivisions/EH.yaml +24 -16
  214. data/lib/countries/data/subdivisions/ER.yaml +109 -48
  215. data/lib/countries/data/subdivisions/ES.yaml +1805 -550
  216. data/lib/countries/data/subdivisions/ET.yaml +207 -88
  217. data/lib/countries/data/subdivisions/FI.yaml +421 -37
  218. data/lib/countries/data/subdivisions/FJ.yaml +314 -40
  219. data/lib/countries/data/subdivisions/FM.yaml +63 -32
  220. data/lib/countries/data/subdivisions/FO.yaml +60 -54
  221. data/lib/countries/data/subdivisions/FR.yaml +2861 -922
  222. data/lib/countries/data/subdivisions/GA.yaml +159 -72
  223. data/lib/countries/data/subdivisions/GB.yaml +4960 -1755
  224. data/lib/countries/data/subdivisions/GD.yaml +114 -56
  225. data/lib/countries/data/subdivisions/GE.yaml +238 -96
  226. data/lib/countries/data/subdivisions/GF.yaml +11 -0
  227. data/lib/countries/data/subdivisions/GG.yaml +110 -99
  228. data/lib/countries/data/subdivisions/GH.yaml +266 -79
  229. data/lib/countries/data/subdivisions/GL.yaml +89 -0
  230. data/lib/countries/data/subdivisions/GM.yaml +124 -48
  231. data/lib/countries/data/subdivisions/GN.yaml +711 -274
  232. data/lib/countries/data/subdivisions/GP.yaml +11 -0
  233. data/lib/countries/data/subdivisions/GQ.yaml +143 -72
  234. data/lib/countries/data/subdivisions/GR.yaml +594 -165
  235. data/lib/countries/data/subdivisions/GT.yaml +351 -176
  236. data/lib/countries/data/subdivisions/GU.yaml +85 -58
  237. data/lib/countries/data/subdivisions/GW.yaml +192 -72
  238. data/lib/countries/data/subdivisions/GY.yaml +163 -80
  239. data/lib/countries/data/subdivisions/HK.yaml +86 -54
  240. data/lib/countries/data/subdivisions/HN.yaml +274 -144
  241. data/lib/countries/data/subdivisions/HR.yaml +429 -168
  242. data/lib/countries/data/subdivisions/HT.yaml +179 -72
  243. data/lib/countries/data/subdivisions/HU.yaml +791 -339
  244. data/lib/countries/data/subdivisions/IC.yaml +4 -0
  245. data/lib/countries/data/subdivisions/ID.yaml +2376 -1858
  246. data/lib/countries/data/subdivisions/IE.yaml +650 -259
  247. data/lib/countries/data/subdivisions/IL.yaml +114 -48
  248. data/lib/countries/data/subdivisions/IM.yaml +240 -216
  249. data/lib/countries/data/subdivisions/IN.yaml +1005 -298
  250. data/lib/countries/data/subdivisions/IQ.yaml +316 -139
  251. data/lib/countries/data/subdivisions/IR.yaml +596 -239
  252. data/lib/countries/data/subdivisions/IS.yaml +373 -67
  253. data/lib/countries/data/subdivisions/IT.yaml +2693 -880
  254. data/lib/countries/data/subdivisions/JE.yaml +120 -108
  255. data/lib/countries/data/subdivisions/JM.yaml +243 -112
  256. data/lib/countries/data/subdivisions/JO.yaml +193 -96
  257. data/lib/countries/data/subdivisions/JP.yaml +950 -376
  258. data/lib/countries/data/subdivisions/KE.yaml +807 -40
  259. data/lib/countries/data/subdivisions/KG.yaml +188 -64
  260. data/lib/countries/data/subdivisions/KH.yaml +437 -192
  261. data/lib/countries/data/subdivisions/KI.yaml +57 -24
  262. data/lib/countries/data/subdivisions/KM.yaml +49 -24
  263. data/lib/countries/data/subdivisions/KN.yaml +308 -112
  264. data/lib/countries/data/subdivisions/KP.yaml +365 -57
  265. data/lib/countries/data/subdivisions/KR.yaml +393 -128
  266. data/lib/countries/data/subdivisions/KW.yaml +87 -48
  267. data/lib/countries/data/subdivisions/KY.yaml +36 -24
  268. data/lib/countries/data/subdivisions/KZ.yaml +362 -135
  269. data/lib/countries/data/subdivisions/LA.yaml +300 -145
  270. data/lib/countries/data/subdivisions/LB.yaml +134 -48
  271. data/lib/countries/data/subdivisions/LC.yaml +166 -0
  272. data/lib/countries/data/subdivisions/LI.yaml +186 -88
  273. data/lib/countries/data/subdivisions/LK.yaml +544 -200
  274. data/lib/countries/data/subdivisions/LR.yaml +252 -110
  275. data/lib/countries/data/subdivisions/LS.yaml +149 -80
  276. data/lib/countries/data/subdivisions/LT.yaml +1042 -80
  277. data/lib/countries/data/subdivisions/LU.yaml +200 -17
  278. data/lib/countries/data/subdivisions/LV.yaml +2399 -223
  279. data/lib/countries/data/subdivisions/LY.yaml +339 -162
  280. data/lib/countries/data/subdivisions/MA.yaml +1443 -484
  281. data/lib/countries/data/subdivisions/MC.yaml +250 -0
  282. data/lib/countries/data/subdivisions/MD.yaml +638 -93
  283. data/lib/countries/data/subdivisions/ME.yaml +425 -168
  284. data/lib/countries/data/subdivisions/MF.yaml +9 -0
  285. data/lib/countries/data/subdivisions/MG.yaml +93 -48
  286. data/lib/countries/data/subdivisions/MH.yaml +422 -199
  287. data/lib/countries/data/subdivisions/MK.yaml +2972 -255
  288. data/lib/countries/data/subdivisions/ML.yaml +187 -71
  289. data/lib/countries/data/subdivisions/MM.yaml +287 -112
  290. data/lib/countries/data/subdivisions/MN.yaml +421 -176
  291. data/lib/countries/data/subdivisions/MO.yaml +9 -0
  292. data/lib/countries/data/subdivisions/MP.yaml +30 -12
  293. data/lib/countries/data/subdivisions/MQ.yaml +11 -0
  294. data/lib/countries/data/subdivisions/MR.yaml +245 -99
  295. data/lib/countries/data/subdivisions/MS.yaml +30 -27
  296. data/lib/countries/data/subdivisions/MT.yaml +1059 -544
  297. data/lib/countries/data/subdivisions/MU.yaml +317 -131
  298. data/lib/countries/data/subdivisions/MV.yaml +457 -163
  299. data/lib/countries/data/subdivisions/MW.yaml +537 -216
  300. data/lib/countries/data/subdivisions/MX.yaml +709 -256
  301. data/lib/countries/data/subdivisions/MY.yaml +336 -128
  302. data/lib/countries/data/subdivisions/MZ.yaml +191 -83
  303. data/lib/countries/data/subdivisions/NA.yaml +220 -107
  304. data/lib/countries/data/subdivisions/NC.yaml +26 -9
  305. data/lib/countries/data/subdivisions/NE.yaml +170 -64
  306. data/lib/countries/data/subdivisions/NG.yaml +870 -296
  307. data/lib/countries/data/subdivisions/NI.yaml +260 -136
  308. data/lib/countries/data/subdivisions/NL.yaml +381 -96
  309. data/lib/countries/data/subdivisions/NO.yaml +633 -1096
  310. data/lib/countries/data/subdivisions/NP.yaml +383 -112
  311. data/lib/countries/data/subdivisions/NR.yaml +260 -112
  312. data/lib/countries/data/subdivisions/NZ.yaml +318 -131
  313. data/lib/countries/data/subdivisions/OM.yaml +202 -52
  314. data/lib/countries/data/subdivisions/PA.yaml +203 -99
  315. data/lib/countries/data/subdivisions/PE.yaml +418 -208
  316. data/lib/countries/data/subdivisions/PF.yaml +30 -15
  317. data/lib/countries/data/subdivisions/PG.yaml +381 -155
  318. data/lib/countries/data/subdivisions/PH.yaml +1855 -662
  319. data/lib/countries/data/subdivisions/PK.yaml +185 -54
  320. data/lib/countries/data/subdivisions/PL.yaml +1176 -127
  321. data/lib/countries/data/subdivisions/PM.yaml +18 -6
  322. data/lib/countries/data/subdivisions/PR.yaml +1107 -0
  323. data/lib/countries/data/subdivisions/PS.yaml +257 -0
  324. data/lib/countries/data/subdivisions/PT.yaml +342 -160
  325. data/lib/countries/data/subdivisions/PW.yaml +269 -128
  326. data/lib/countries/data/subdivisions/PY.yaml +321 -144
  327. data/lib/countries/data/subdivisions/QA.yaml +168 -65
  328. data/lib/countries/data/subdivisions/RE.yaml +11 -0
  329. data/lib/countries/data/subdivisions/RO.yaml +729 -336
  330. data/lib/countries/data/subdivisions/RS.yaml +589 -240
  331. data/lib/countries/data/subdivisions/RU.yaml +1875 -665
  332. data/lib/countries/data/subdivisions/RW.yaml +102 -40
  333. data/lib/countries/data/subdivisions/SA.yaml +234 -104
  334. data/lib/countries/data/subdivisions/SB.yaml +169 -80
  335. data/lib/countries/data/subdivisions/SC.yaml +462 -184
  336. data/lib/countries/data/subdivisions/SD.yaml +163 -22
  337. data/lib/countries/data/subdivisions/SE.yaml +435 -237
  338. data/lib/countries/data/subdivisions/SG.yaml +111 -19
  339. data/lib/countries/data/subdivisions/SH.yaml +67 -14
  340. data/lib/countries/data/subdivisions/SI.yaml +3570 -1549
  341. data/lib/countries/data/subdivisions/SJ.yaml +20 -18
  342. data/lib/countries/data/subdivisions/SK.yaml +129 -64
  343. data/lib/countries/data/subdivisions/SL.yaml +80 -31
  344. data/lib/countries/data/subdivisions/SM.yaml +159 -72
  345. data/lib/countries/data/subdivisions/SN.yaml +233 -88
  346. data/lib/countries/data/subdivisions/SO.yaml +311 -144
  347. data/lib/countries/data/subdivisions/SR.yaml +158 -80
  348. data/lib/countries/data/subdivisions/SS.yaml +196 -0
  349. data/lib/countries/data/subdivisions/ST.yaml +49 -16
  350. data/lib/countries/data/subdivisions/SV.yaml +231 -112
  351. data/lib/countries/data/subdivisions/SX.yaml +9 -0
  352. data/lib/countries/data/subdivisions/SY.yaml +220 -112
  353. data/lib/countries/data/subdivisions/SZ.yaml +65 -32
  354. data/lib/countries/data/subdivisions/TA.yaml +4 -0
  355. data/lib/countries/data/subdivisions/TD.yaml +409 -139
  356. data/lib/countries/data/subdivisions/TF.yaml +38 -20
  357. data/lib/countries/data/subdivisions/TG.yaml +75 -40
  358. data/lib/countries/data/subdivisions/TH.yaml +1451 -616
  359. data/lib/countries/data/subdivisions/TJ.yaml +100 -24
  360. data/lib/countries/data/subdivisions/TK.yaml +30 -27
  361. data/lib/countries/data/subdivisions/TL.yaml +209 -104
  362. data/lib/countries/data/subdivisions/TM.yaml +116 -40
  363. data/lib/countries/data/subdivisions/TN.yaml +412 -192
  364. data/lib/countries/data/subdivisions/TO.yaml +75 -40
  365. data/lib/countries/data/subdivisions/TR.yaml +1817 -648
  366. data/lib/countries/data/subdivisions/TT.yaml +296 -113
  367. data/lib/countries/data/subdivisions/TV.yaml +133 -59
  368. data/lib/countries/data/subdivisions/TW.yaml +481 -164
  369. data/lib/countries/data/subdivisions/TZ.yaml +661 -208
  370. data/lib/countries/data/subdivisions/UA.yaml +505 -216
  371. data/lib/countries/data/subdivisions/UG.yaml +2262 -640
  372. data/lib/countries/data/subdivisions/UM.yaml +216 -71
  373. data/lib/countries/data/subdivisions/US.yaml +1658 -464
  374. data/lib/countries/data/subdivisions/UY.yaml +367 -152
  375. data/lib/countries/data/subdivisions/UZ.yaml +289 -113
  376. data/lib/countries/data/subdivisions/VC.yaml +101 -48
  377. data/lib/countries/data/subdivisions/VE.yaml +456 -200
  378. data/lib/countries/data/subdivisions/VI.yaml +26 -9
  379. data/lib/countries/data/subdivisions/VN.yaml +3664 -2996
  380. data/lib/countries/data/subdivisions/VU.yaml +98 -48
  381. data/lib/countries/data/subdivisions/WF.yaml +73 -0
  382. data/lib/countries/data/subdivisions/WS.yaml +200 -88
  383. data/lib/countries/data/subdivisions/YE.yaml +375 -152
  384. data/lib/countries/data/subdivisions/YT.yaml +76 -51
  385. data/lib/countries/data/subdivisions/ZA.yaml +238 -72
  386. data/lib/countries/data/subdivisions/ZM.yaml +157 -72
  387. data/lib/countries/data/subdivisions/ZW.yaml +152 -73
  388. data/lib/countries/data/translation_corrections.yaml +6 -1
  389. data/lib/countries/data.rb +48 -22
  390. data/lib/countries/sources/cldr/downloader.rb +12 -13
  391. data/lib/countries/tasks/geocoding.rake +9 -16
  392. data/lib/countries/translations.rb +1 -1
  393. data/lib/countries/version.rb +1 -1
  394. data/lib/countries.rb +0 -1
  395. data/spec/country_spec.rb +100 -0
  396. data/spec/data_spec.rb +4 -4
  397. data/spec/thread_safety_spec.rb +46 -0
  398. metadata +31 -23
  399. data/.travis.yml +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3695c52ff7a3814015130d18aca82730753bcdd401b2422d2456ecec2ee21ebe
4
- data.tar.gz: 4c84a23b7f070f3eabc1d2efb33ae550f3acd3e9de25913a59e4913a14cb528e
3
+ metadata.gz: e92774738bb8bd03ce6ea03faefddf5318b166e40c1997d09ace3fa417abba8c
4
+ data.tar.gz: 1f3e6c44fd8db1865d362e3d8e07a6238fbcf717daeea404a1c3c7dab71d5829
5
5
  SHA512:
6
- metadata.gz: 4c4a16173fc7fbe4af243b1951b4b7d751b17e7fe9a0073dbffc363880a4acc3c31a9b3213ea99dd1a4da76c6148c38c8c9cc8687790ae3565c63353827f6418
7
- data.tar.gz: dc1099e88f0dd5483920bb3c9c18dfff1035d2923eac8378e0fe915c54ddc920778b7ebcbadbb25a2b85cde47a9af957ec9c34b1aba06c74f46260cf8143f7c3
6
+ metadata.gz: f7ce86dd2a2aec4463d27b07c427a3ea6fa097d04661343b9309a603a52c5ab3dcbaff6f50dcb4c19ce9bdd373f144dc718f7409bdcdde83811395b341b39625
7
+ data.tar.gz: adb4cbf79ae7da1315810ec6aaf55c71f9a7d6c0d9d99743fc32cd686db63fe5157523b22aedcc425abf3576e3e99ec5af7e9d19655df4562deb8f055029bbb7
@@ -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,6 +2,76 @@
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
+ - Dropped support for Ruby 2.5
8
+
9
+ ## [4.1.1](https://github.com/countries/countries/releases/tag/v4.1.1) (2021/12/06 13:31 +00:00)
10
+
11
+ **Merged pull requests:**
12
+
13
+ * Fix ISO3166::Country respond_to_missing? by @biinari in https://github.com/countries/countries/pull/625
14
+ * Revert subdivision changes to NO.yaml by @pmor in https://github.com/countries/countries/pull/709
15
+
16
+ ## [4.1.0](https://github.com/countries/countries/releases/tag/v4.1.0) (2021/11/30 09:44 +00:00)
17
+
18
+ **New features:**
19
+
20
+ - `Country.pluck` [\#706](https://github.com/countries/countries/pull/706) ([dorianmariefr](https://github.com/dorianmariefr))
21
+
22
+ **Closed issues:**
23
+
24
+ - Ensure Moscow Oblast translations reference the "province" [\#694](https://github.com/countries/countries/pull/694) ([carlesjove](https://github.com/carlesjove))
25
+ - Update NL reduced VAT rate [\#693](https://github.com/countries/countries/pull/693) ([oscaredel](https://github.com/oscaredel))
26
+ - Serbian translation for North Macedonia is incorrect [\#703](https://github.com/countries/countries/issues/703)
27
+
28
+ **Merged pull requests:**
29
+
30
+ - Set the code when creating subdivisions [\#658](https://github.com/countries/countries/pull/658) ([IamDavidovich](https://github.com/IamDavidovich))
31
+ - Refresh subdivision data from CLDR [\#704](https://github.com/countries/countries/pull/704) ([pmor](https://github.com/pmor))
32
+ - 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))
33
+
34
+ ## [4.0.1](https://github.com/countries/countries/releases/tag/v4.0.1) (2021/07/19 14:47 +01:00)
35
+
36
+ **Closed issues:**
37
+
38
+ - ISO Country Code for Czechia/Czech Republic should be updated. [\#688](https://github.com/countries/countries/issues/688)
39
+ - Regression in 4.0.0: ISO3166::Country.translations(:en) with symbol arg raises [\#691](https://github.com/countries/countries/issues/691)
40
+
41
+ **Merged pull requests:**
42
+
43
+ - 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))
44
+ - 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))
45
+ - Fix regression in `ISO3166::Country.translations` with symbols [\#692](https://github.com/countries/countries/pull/692) ([pmor](https://github.com/pmor))
46
+
47
+
48
+ ## [4.0.0](https://github.com/countries/countries/releases/tag/v4.0.0) (2021/06/11 09:47 +01:00)
49
+
50
+ [Full changelog](https://github.com/countries/countries/compare/v3.1.0...v4.0.0)
51
+
52
+ **Closed issues:**
53
+
54
+ - update_cldr_subdivison_data Rake task broken due to CLDR repo change [\#633](https://github.com/countries/countries/issues/633)
55
+ - Fix ISO3166::Data.register loading of nested hashes (from https://github.com/countries/countries/pull/397#issuecomment-846543094)
56
+ - Angola's bounds is the same as Austria? [\#682](https://github.com/countries/countries/issues/682)
57
+
58
+ **Merged pull requests:**
59
+
60
+ - `make_cache_thread_safe` ([factorialco](https://github.com/factorialco))
61
+ - 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))
62
+ - Fixes [\#633] and updates geocoder searches [\#634](https://github.com/countries/countries/pull/634) ([mezza](https://github.com/mezza))
63
+ - `translation_corrections.yaml`: Fix broken link [\#664](https://github.com/countries/countries/pull/664) ([henrik](https://github.com/henrik))
64
+ - Correct Danish translation of CZ [\#661](https://github.com/countries/countries/pull/661) ([JanMSP](https://github.com/JanMSP))
65
+ - Swedish translation correction: RU = "Ryssland" [\#665](https://github.com/countries/countries/pull/665) ([henrik](https://github.com/henrik))
66
+ - Update gemspec metadata with new repo url [\#672](https://github.com/countries/countries/pull/672) ([pmor](https://github.com/pmor))
67
+ - Fix typo and lint in README.markdown [\#675](https://github.com/countries/countries/pull/675) ([DigiPie](https://github.com/DigiPie))
68
+ - Update CI to the latests ruby point versions [\#677](https://github.com/countries/countries/pull/677) ([pmor](https://github.com/pmor))
69
+ - 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 ))
70
+ - Update Vietnam subdivisions with current ISO_3166-2:VN [\#673](https://github.com/countries/countries/pull/673) ([keymastervn](https://github.com/keymastervn))
71
+ - Add custom countries to translation lists [\#595](https://github.com/countries/countries/pull/595) ([phylor](https://github.com/phylor))
72
+ - Fix ISO3166::Data.register loading of nested hashes, eg: geo data. [\#683](https://github.com/countries/countries/pull/683) ([pmor](https://github.com/pmor))
73
+ - Remove Travis CI configuration. [\#685](https://github.com/countries/countries/pull/683) ([pmor](https://github.com/pmor))
74
+
5
75
  ## [3.1.0](https://github.com/countries/countries/releases/tag/v3.1.0) (2021/03/24 00:01 +05:00)
6
76
 
7
77
  [Full Changelog](https://github.com/countries/countries/compare/v3.0.1...v3.1.0)
@@ -25,7 +95,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
25
95
  **Merged pull requests:**
26
96
 
27
97
  - add find\_all\_by example to readme [\#667](https://github.com/countries/countries/pull/667) ([glaucocustodio](https://github.com/glaucocustodio))
28
- - Add address\_format for Vietnam, fixes \#652 [\#653](https://github.com/countries/countries/pull/653) ([pmor](https://github.com/pmor))
98
+ - Add address\_format for Vietnam, fixes [\#652] [\#653](https://github.com/countries/countries/pull/653) ([pmor](https://github.com/pmor))
29
99
  - "The United Kingdom" is an unofficial name for Great Britain [\#651](https://github.com/countries/countries/pull/651) ([RogerPodacter](https://github.com/RogerPodacter))
30
100
  - UK is an unofficial name for Great Britain [\#648](https://github.com/countries/countries/pull/648) ([RogerPodacter](https://github.com/RogerPodacter))
31
101
  - \[French\] Bad encoding for new zealand [\#643](https://github.com/countries/countries/pull/643) ([waghanza](https://github.com/waghanza))
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,7 +88,7 @@ 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')
91
93
  h = ISO3166::Country.find_all_by(:translated_names, 'França')
92
94
  list = ISO3166::Country.find_all_countries_by_region('Americas')
@@ -107,7 +109,7 @@ c.alpha3 # => "USA"
107
109
  c.gec # => "US"
108
110
  ```
109
111
 
110
- ### Names & Translations
112
+ ### Names & Translations
111
113
 
112
114
  ```ruby
113
115
  c.name # => "United States"
@@ -130,14 +132,14 @@ ISO3166::Country.all_translated('DE') # ['Deutschland', ...]
130
132
 
131
133
  ### Subdivisions & States
132
134
 
133
- ``` ruby
135
+ ```ruby
134
136
  c.subdivisions # => {"CO" => {"name" => "Colorado", "names" => "Colorado"}, ... }
135
137
  c.states # => {"CO" => {"name" => "Colorado", "names" => "Colorado"}, ... }
136
138
  ```
137
139
 
138
140
  ### Location
139
141
 
140
- ``` ruby
142
+ ```ruby
141
143
  c.latitude # => "38 00 N"
142
144
  c.longitude # => "97 00 W"
143
145
  c.latitude_dec # => 39.44325637817383
@@ -155,7 +157,7 @@ Add `tzinfo` to your Gemfile and ensure it's required, Countries will not do thi
155
157
  gem 'tzinfo', '~> 1.2', '>= 1.2.2'
156
158
  ```
157
159
 
158
- ``` ruby
160
+ ```ruby
159
161
  c.timezones.zone_identifiers # => ["America/New_York", "America/Detroit", "America/Kentucky/Louisville", ...]
160
162
  c.timezones.zone_info # see [tzinfo docs]( http://www.rubydoc.info/gems/tzinfo/TZInfo/CountryInfo)
161
163
  c.timezones # see [tzinfo docs]( http://www.rubydoc.info/gems/tzinfo/TZInfo/Country)
@@ -163,7 +165,7 @@ c.timezones # see [tzinfo docs]( http://www.rubydoc.info/gems/tzinfo/TZInfo/Coun
163
165
 
164
166
  ### Telephone Routing (E164)
165
167
 
166
- ``` ruby
168
+ ```ruby
167
169
  c.country_code # => "1"
168
170
  c.national_destination_code_lengths # => 3
169
171
  c.national_number_lengths # => 10
@@ -173,7 +175,7 @@ c.national_prefix # => "1"
173
175
 
174
176
  ### Boundary Boxes
175
177
 
176
- ``` ruby
178
+ ```ruby
177
179
  c.min_longitude # => '45'
178
180
  c.min_latitude # => '22.166667'
179
181
  c.max_longitude # => '58'
@@ -182,21 +184,40 @@ c.max_latitude # => '26.133333'
182
184
 
183
185
  ### European Union Membership
184
186
 
185
- ``` ruby
187
+ ```ruby
186
188
  c.in_eu? # => false
187
189
  ```
188
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
+
189
210
  ## Currencies
190
211
 
191
212
  To enable currencies extension please add the following to countries initializer.
192
213
 
193
- ``` ruby
214
+ ```ruby
194
215
  ISO3166.configuration.enable_currency_extension!
195
216
  ```
196
217
 
197
218
  Please note that it requires you to add "money" dependency to your gemfile.
198
219
 
199
- ``` ruby
220
+ ```ruby
200
221
  gem "money", "~> 6.9"
201
222
  ```
202
223
 
@@ -204,7 +225,7 @@ gem "money", "~> 6.9"
204
225
 
205
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.
206
227
 
207
- ``` ruby
228
+ ```ruby
208
229
  c = ISO3166::Country['us']
209
230
  c.currency.iso_code # => 'USD'
210
231
  c.currency.name # => 'United States Dollar'
@@ -213,9 +234,9 @@ c.currency.symbol # => '$'
213
234
 
214
235
  ## Address Formatting
215
236
 
216
- 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.
217
238
 
218
- ``` ruby
239
+ ```ruby
219
240
  c.address_format # => "{{recipient}}\n{{street}}\n{{city}} {{region}} {{postalcode}}\n{{country}}"
220
241
  ```
221
242
 
@@ -225,7 +246,7 @@ As of 2.0 countries supports loading custom countries / overriding data in its d
225
246
 
226
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__.
227
248
 
228
- ``` ruby
249
+ ```ruby
229
250
  ISO3166::Data.register(
230
251
  alpha2: 'LOL',
231
252
  name: 'Happy Country',
@@ -261,6 +282,7 @@ british_things.first.country.name # => "United Kingdom"
261
282
  british_things = Things.where(country: Country.find_by_name('United Kingdom')[1])
262
283
  british_things.first.country.name # => "United Kingdom"
263
284
  ```
285
+
264
286
  Saving:
265
287
 
266
288
  ```ruby
@@ -277,7 +299,7 @@ british_thing.country.name # => "United Kingdom"
277
299
 
278
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:
279
301
 
280
- ``` ruby
302
+ ```ruby
281
303
  def country
282
304
  super.name
283
305
  end
@@ -285,7 +307,7 @@ end
285
307
 
286
308
  ## Country Code in Emoji
287
309
 
288
- ``` ruby
310
+ ```ruby
289
311
  c = Country['MY']
290
312
  c.emoji_flag # => "🇲🇾"
291
313
  ```
@@ -308,7 +330,7 @@ If you need to correct an upstream translation please add it to the lib/countrie
308
330
  ```
309
331
 
310
332
  Any corrections can be applied in translations_corrections.yaml these will be injected during
311
- the next ```rake update_cache```
333
+ the next `rake update_cache`.
312
334
 
313
335
  * Fork the project.
314
336
  * Make your feature addition or bug fix.
@@ -323,10 +345,3 @@ the next ```rake update_cache```
323
345
 
324
346
  Copyright (c) 2016 hexorx. See LICENSE for details.
325
347
 
326
- [Teliax]: http://teliax.com
327
- [Centrex]: http://en.wikipedia.org/wiki/Centrex
328
- [CommonDataHub]: http://commondatahub.com
329
- [Currencies]: http://gemcutter.org/gems/currencies
330
- [Money]: http://gemcutter.org/gems/money
331
- [Liquid]: http://www.liquidmarkup.org/
332
- [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.11.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')