countries 4.1.2 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +2 -0
  3. data/CHANGELOG.md +80 -2
  4. data/README.markdown +41 -31
  5. data/Rakefile +23 -31
  6. data/countries.gemspec +4 -4
  7. data/lib/countries/cache/countries.json +1 -1
  8. data/lib/countries/cache/locales/nb.json +1 -1
  9. data/lib/countries/cache/locales/nn.json +1 -1
  10. data/lib/countries/configuration.rb +13 -0
  11. data/lib/countries/country/class_methods.rb +19 -6
  12. data/lib/countries/country/currency_methods.rb +4 -1
  13. data/lib/countries/country/emoji.rb +3 -0
  14. data/lib/countries/country.rb +147 -7
  15. data/lib/countries/data/countries/AD.yaml +28 -29
  16. data/lib/countries/data/countries/AE.yaml +32 -33
  17. data/lib/countries/data/countries/AF.yaml +32 -33
  18. data/lib/countries/data/countries/AG.yaml +28 -29
  19. data/lib/countries/data/countries/AI.yaml +27 -28
  20. data/lib/countries/data/countries/AL.yaml +28 -29
  21. data/lib/countries/data/countries/AM.yaml +30 -31
  22. data/lib/countries/data/countries/AO.yaml +25 -26
  23. data/lib/countries/data/countries/AQ.yaml +24 -25
  24. data/lib/countries/data/countries/AR.yaml +30 -31
  25. data/lib/countries/data/countries/AS.yaml +31 -32
  26. data/lib/countries/data/countries/AT.yaml +36 -37
  27. data/lib/countries/data/countries/AU.yaml +33 -34
  28. data/lib/countries/data/countries/AW.yaml +25 -26
  29. data/lib/countries/data/countries/AX.yaml +27 -28
  30. data/lib/countries/data/countries/AZ.yaml +30 -31
  31. data/lib/countries/data/countries/BA.yaml +32 -33
  32. data/lib/countries/data/countries/BB.yaml +28 -29
  33. data/lib/countries/data/countries/BD.yaml +27 -28
  34. data/lib/countries/data/countries/BE.yaml +41 -42
  35. data/lib/countries/data/countries/BF.yaml +27 -28
  36. data/lib/countries/data/countries/BG.yaml +36 -37
  37. data/lib/countries/data/countries/BH.yaml +28 -29
  38. data/lib/countries/data/countries/BI.yaml +27 -28
  39. data/lib/countries/data/countries/BJ.yaml +26 -27
  40. data/lib/countries/data/countries/BL.yaml +25 -26
  41. data/lib/countries/data/countries/BM.yaml +29 -30
  42. data/lib/countries/data/countries/BN.yaml +26 -27
  43. data/lib/countries/data/countries/BO.yaml +31 -32
  44. data/lib/countries/data/countries/BQ.yaml +28 -29
  45. data/lib/countries/data/countries/BR.yaml +35 -36
  46. data/lib/countries/data/countries/BS.yaml +27 -28
  47. data/lib/countries/data/countries/BT.yaml +28 -29
  48. data/lib/countries/data/countries/BV.yaml +23 -24
  49. data/lib/countries/data/countries/BW.yaml +27 -28
  50. data/lib/countries/data/countries/BY.yaml +30 -31
  51. data/lib/countries/data/countries/BZ.yaml +28 -29
  52. data/lib/countries/data/countries/CA.yaml +30 -31
  53. data/lib/countries/data/countries/CC.yaml +28 -29
  54. data/lib/countries/data/countries/CD.yaml +35 -36
  55. data/lib/countries/data/countries/CF.yaml +29 -30
  56. data/lib/countries/data/countries/CG.yaml +29 -30
  57. data/lib/countries/data/countries/CH.yaml +40 -41
  58. data/lib/countries/data/countries/CI.yaml +27 -28
  59. data/lib/countries/data/countries/CK.yaml +27 -28
  60. data/lib/countries/data/countries/CL.yaml +32 -33
  61. data/lib/countries/data/countries/CM.yaml +29 -30
  62. data/lib/countries/data/countries/CN.yaml +28 -29
  63. data/lib/countries/data/countries/CO.yaml +28 -29
  64. data/lib/countries/data/countries/CR.yaml +26 -27
  65. data/lib/countries/data/countries/CU.yaml +27 -28
  66. data/lib/countries/data/countries/CV.yaml +28 -29
  67. data/lib/countries/data/countries/CW.yaml +25 -26
  68. data/lib/countries/data/countries/CX.yaml +30 -31
  69. data/lib/countries/data/countries/CY.yaml +40 -41
  70. data/lib/countries/data/countries/CZ.yaml +38 -39
  71. data/lib/countries/data/countries/DE.yaml +36 -37
  72. data/lib/countries/data/countries/DJ.yaml +29 -30
  73. data/lib/countries/data/countries/DK.yaml +35 -36
  74. data/lib/countries/data/countries/DM.yaml +26 -27
  75. data/lib/countries/data/countries/DO.yaml +28 -29
  76. data/lib/countries/data/countries/DZ.yaml +28 -29
  77. data/lib/countries/data/countries/EC.yaml +28 -29
  78. data/lib/countries/data/countries/EE.yaml +35 -36
  79. data/lib/countries/data/countries/EG.yaml +28 -29
  80. data/lib/countries/data/countries/EH.yaml +30 -31
  81. data/lib/countries/data/countries/ER.yaml +31 -32
  82. data/lib/countries/data/countries/ES.yaml +36 -37
  83. data/lib/countries/data/countries/ET.yaml +28 -29
  84. data/lib/countries/data/countries/FI.yaml +38 -39
  85. data/lib/countries/data/countries/FJ.yaml +33 -34
  86. data/lib/countries/data/countries/FK.yaml +29 -30
  87. data/lib/countries/data/countries/FM.yaml +28 -29
  88. data/lib/countries/data/countries/FO.yaml +28 -29
  89. data/lib/countries/data/countries/FR.yaml +37 -38
  90. data/lib/countries/data/countries/GA.yaml +27 -28
  91. data/lib/countries/data/countries/GB.yaml +39 -38
  92. data/lib/countries/data/countries/GD.yaml +26 -27
  93. data/lib/countries/data/countries/GE.yaml +28 -29
  94. data/lib/countries/data/countries/GF.yaml +29 -30
  95. data/lib/countries/data/countries/GG.yaml +30 -31
  96. data/lib/countries/data/countries/GH.yaml +27 -28
  97. data/lib/countries/data/countries/GI.yaml +26 -27
  98. data/lib/countries/data/countries/GL.yaml +29 -30
  99. data/lib/countries/data/countries/GM.yaml +25 -26
  100. data/lib/countries/data/countries/GN.yaml +30 -31
  101. data/lib/countries/data/countries/GP.yaml +27 -28
  102. data/lib/countries/data/countries/GQ.yaml +29 -30
  103. data/lib/countries/data/countries/GR.yaml +37 -38
  104. data/lib/countries/data/countries/GS.yaml +27 -28
  105. data/lib/countries/data/countries/GT.yaml +26 -27
  106. data/lib/countries/data/countries/GU.yaml +31 -32
  107. data/lib/countries/data/countries/GW.yaml +28 -29
  108. data/lib/countries/data/countries/GY.yaml +26 -27
  109. data/lib/countries/data/countries/HK.yaml +28 -29
  110. data/lib/countries/data/countries/HM.yaml +27 -28
  111. data/lib/countries/data/countries/HN.yaml +27 -28
  112. data/lib/countries/data/countries/HR.yaml +37 -38
  113. data/lib/countries/data/countries/HT.yaml +29 -30
  114. data/lib/countries/data/countries/HU.yaml +37 -38
  115. data/lib/countries/data/countries/ID.yaml +28 -29
  116. data/lib/countries/data/countries/IE.yaml +39 -40
  117. data/lib/countries/data/countries/IL.yaml +35 -31
  118. data/lib/countries/data/countries/IM.yaml +29 -30
  119. data/lib/countries/data/countries/IN.yaml +30 -31
  120. data/lib/countries/data/countries/IO.yaml +26 -27
  121. data/lib/countries/data/countries/IQ.yaml +28 -29
  122. data/lib/countries/data/countries/IR.yaml +28 -29
  123. data/lib/countries/data/countries/IS.yaml +35 -36
  124. data/lib/countries/data/countries/IT.yaml +36 -37
  125. data/lib/countries/data/countries/JE.yaml +26 -27
  126. data/lib/countries/data/countries/JM.yaml +28 -29
  127. data/lib/countries/data/countries/JO.yaml +28 -29
  128. data/lib/countries/data/countries/JP.yaml +28 -29
  129. data/lib/countries/data/countries/KE.yaml +29 -30
  130. data/lib/countries/data/countries/KG.yaml +30 -31
  131. data/lib/countries/data/countries/KH.yaml +28 -29
  132. data/lib/countries/data/countries/KI.yaml +25 -26
  133. data/lib/countries/data/countries/KM.yaml +29 -30
  134. data/lib/countries/data/countries/KN.yaml +29 -29
  135. data/lib/countries/data/countries/KP.yaml +27 -28
  136. data/lib/countries/data/countries/KR.yaml +28 -29
  137. data/lib/countries/data/countries/KW.yaml +28 -29
  138. data/lib/countries/data/countries/KY.yaml +29 -30
  139. data/lib/countries/data/countries/KZ.yaml +30 -31
  140. data/lib/countries/data/countries/LA.yaml +27 -28
  141. data/lib/countries/data/countries/LB.yaml +30 -31
  142. data/lib/countries/data/countries/LC.yaml +28 -29
  143. data/lib/countries/data/countries/LI.yaml +27 -28
  144. data/lib/countries/data/countries/LK.yaml +28 -29
  145. data/lib/countries/data/countries/LR.yaml +28 -29
  146. data/lib/countries/data/countries/LS.yaml +28 -29
  147. data/lib/countries/data/countries/LT.yaml +37 -38
  148. data/lib/countries/data/countries/LU.yaml +39 -40
  149. data/lib/countries/data/countries/LV.yaml +36 -37
  150. data/lib/countries/data/countries/LY.yaml +27 -28
  151. data/lib/countries/data/countries/MA.yaml +28 -29
  152. data/lib/countries/data/countries/MC.yaml +28 -29
  153. data/lib/countries/data/countries/MD.yaml +28 -29
  154. data/lib/countries/data/countries/ME.yaml +33 -34
  155. data/lib/countries/data/countries/MF.yaml +29 -30
  156. data/lib/countries/data/countries/MG.yaml +30 -31
  157. data/lib/countries/data/countries/MH.yaml +30 -31
  158. data/lib/countries/data/countries/MK.yaml +28 -29
  159. data/lib/countries/data/countries/ML.yaml +25 -26
  160. data/lib/countries/data/countries/MM.yaml +27 -28
  161. data/lib/countries/data/countries/MN.yaml +28 -29
  162. data/lib/countries/data/countries/MO.yaml +28 -29
  163. data/lib/countries/data/countries/MP.yaml +31 -32
  164. data/lib/countries/data/countries/MQ.yaml +27 -28
  165. data/lib/countries/data/countries/MR.yaml +29 -30
  166. data/lib/countries/data/countries/MS.yaml +26 -27
  167. data/lib/countries/data/countries/MT.yaml +36 -37
  168. data/lib/countries/data/countries/MU.yaml +28 -29
  169. data/lib/countries/data/countries/MV.yaml +28 -29
  170. data/lib/countries/data/countries/MW.yaml +27 -28
  171. data/lib/countries/data/countries/MX.yaml +33 -34
  172. data/lib/countries/data/countries/MY.yaml +30 -31
  173. data/lib/countries/data/countries/MZ.yaml +28 -29
  174. data/lib/countries/data/countries/NA.yaml +30 -31
  175. data/lib/countries/data/countries/NC.yaml +29 -30
  176. data/lib/countries/data/countries/NE.yaml +27 -28
  177. data/lib/countries/data/countries/NF.yaml +29 -30
  178. data/lib/countries/data/countries/NG.yaml +33 -34
  179. data/lib/countries/data/countries/NI.yaml +26 -27
  180. data/lib/countries/data/countries/NL.yaml +36 -37
  181. data/lib/countries/data/countries/NO.yaml +36 -37
  182. data/lib/countries/data/countries/NP.yaml +32 -33
  183. data/lib/countries/data/countries/NR.yaml +27 -28
  184. data/lib/countries/data/countries/NU.yaml +25 -26
  185. data/lib/countries/data/countries/NZ.yaml +34 -35
  186. data/lib/countries/data/countries/OM.yaml +28 -29
  187. data/lib/countries/data/countries/PA.yaml +26 -27
  188. data/lib/countries/data/countries/PE.yaml +28 -29
  189. data/lib/countries/data/countries/PF.yaml +29 -30
  190. data/lib/countries/data/countries/PG.yaml +28 -29
  191. data/lib/countries/data/countries/PH.yaml +35 -36
  192. data/lib/countries/data/countries/PK.yaml +30 -31
  193. data/lib/countries/data/countries/PL.yaml +36 -37
  194. data/lib/countries/data/countries/PM.yaml +29 -30
  195. data/lib/countries/data/countries/PN.yaml +27 -28
  196. data/lib/countries/data/countries/PR.yaml +28 -29
  197. data/lib/countries/data/countries/PS.yaml +31 -32
  198. data/lib/countries/data/countries/PT.yaml +33 -34
  199. data/lib/countries/data/countries/PW.yaml +26 -27
  200. data/lib/countries/data/countries/PY.yaml +28 -29
  201. data/lib/countries/data/countries/QA.yaml +27 -28
  202. data/lib/countries/data/countries/RE.yaml +28 -29
  203. data/lib/countries/data/countries/RO.yaml +37 -38
  204. data/lib/countries/data/countries/RS.yaml +28 -29
  205. data/lib/countries/data/countries/RU.yaml +28 -29
  206. data/lib/countries/data/countries/RW.yaml +31 -32
  207. data/lib/countries/data/countries/SA.yaml +33 -29
  208. data/lib/countries/data/countries/SB.yaml +27 -28
  209. data/lib/countries/data/countries/SC.yaml +28 -29
  210. data/lib/countries/data/countries/SD.yaml +30 -31
  211. data/lib/countries/data/countries/SE.yaml +37 -38
  212. data/lib/countries/data/countries/SG.yaml +32 -33
  213. data/lib/countries/data/countries/SH.yaml +29 -30
  214. data/lib/countries/data/countries/SI.yaml +36 -37
  215. data/lib/countries/data/countries/SJ.yaml +29 -30
  216. data/lib/countries/data/countries/SK.yaml +36 -37
  217. data/lib/countries/data/countries/SL.yaml +25 -26
  218. data/lib/countries/data/countries/SM.yaml +28 -29
  219. data/lib/countries/data/countries/SN.yaml +27 -28
  220. data/lib/countries/data/countries/SO.yaml +30 -31
  221. data/lib/countries/data/countries/SR.yaml +26 -27
  222. data/lib/countries/data/countries/SS.yaml +29 -30
  223. data/lib/countries/data/countries/ST.yaml +27 -28
  224. data/lib/countries/data/countries/SV.yaml +27 -28
  225. data/lib/countries/data/countries/SX.yaml +28 -29
  226. data/lib/countries/data/countries/SY.yaml +27 -28
  227. data/lib/countries/data/countries/SZ.yaml +30 -31
  228. data/lib/countries/data/countries/TC.yaml +30 -31
  229. data/lib/countries/data/countries/TD.yaml +29 -30
  230. data/lib/countries/data/countries/TF.yaml +28 -29
  231. data/lib/countries/data/countries/TG.yaml +25 -26
  232. data/lib/countries/data/countries/TH.yaml +34 -35
  233. data/lib/countries/data/countries/TJ.yaml +30 -31
  234. data/lib/countries/data/countries/TK.yaml +27 -28
  235. data/lib/countries/data/countries/TL.yaml +27 -28
  236. data/lib/countries/data/countries/TM.yaml +30 -31
  237. data/lib/countries/data/countries/TN.yaml +30 -31
  238. data/lib/countries/data/countries/TO.yaml +29 -30
  239. data/lib/countries/data/countries/TR.yaml +28 -29
  240. data/lib/countries/data/countries/TT.yaml +28 -29
  241. data/lib/countries/data/countries/TV.yaml +25 -26
  242. data/lib/countries/data/countries/TW.yaml +28 -29
  243. data/lib/countries/data/countries/TZ.yaml +30 -31
  244. data/lib/countries/data/countries/UA.yaml +34 -35
  245. data/lib/countries/data/countries/UG.yaml +28 -29
  246. data/lib/countries/data/countries/UM.yaml +29 -30
  247. data/lib/countries/data/countries/US.yaml +29 -29
  248. data/lib/countries/data/countries/UY.yaml +27 -28
  249. data/lib/countries/data/countries/UZ.yaml +30 -31
  250. data/lib/countries/data/countries/VA.yaml +31 -32
  251. data/lib/countries/data/countries/VC.yaml +29 -30
  252. data/lib/countries/data/countries/VE.yaml +26 -27
  253. data/lib/countries/data/countries/VG.yaml +29 -30
  254. data/lib/countries/data/countries/VI.yaml +28 -29
  255. data/lib/countries/data/countries/VN.yaml +28 -29
  256. data/lib/countries/data/countries/VU.yaml +31 -32
  257. data/lib/countries/data/countries/WF.yaml +29 -30
  258. data/lib/countries/data/countries/WS.yaml +28 -29
  259. data/lib/countries/data/countries/YE.yaml +27 -28
  260. data/lib/countries/data/countries/YT.yaml +26 -27
  261. data/lib/countries/data/countries/ZA.yaml +39 -40
  262. data/lib/countries/data/countries/ZM.yaml +28 -29
  263. data/lib/countries/data/countries/ZW.yaml +31 -32
  264. data/lib/countries/data/subdivisions/AD.yaml +21 -21
  265. data/lib/countries/data/subdivisions/AF.yaml +2 -2
  266. data/lib/countries/data/subdivisions/AG.yaml +1 -1
  267. data/lib/countries/data/subdivisions/AI.yaml +98 -98
  268. data/lib/countries/data/subdivisions/AL.yaml +82 -626
  269. data/lib/countries/data/subdivisions/AZ.yaml +5 -5
  270. data/lib/countries/data/subdivisions/BA.yaml +11 -11
  271. data/lib/countries/data/subdivisions/BD.yaml +8 -8
  272. data/lib/countries/data/subdivisions/BE.yaml +2 -2
  273. data/lib/countries/data/subdivisions/BF.yaml +13 -13
  274. data/lib/countries/data/subdivisions/BI.yaml +3 -3
  275. data/lib/countries/data/subdivisions/BM.yaml +77 -77
  276. data/lib/countries/data/subdivisions/BS.yaml +22 -22
  277. data/lib/countries/data/subdivisions/BW.yaml +7 -7
  278. data/lib/countries/data/subdivisions/BY.yaml +1 -1
  279. data/lib/countries/data/subdivisions/CD.yaml +19 -19
  280. data/lib/countries/data/subdivisions/CG.yaml +1 -1
  281. data/lib/countries/data/subdivisions/CI.yaml +14 -14
  282. data/lib/countries/data/subdivisions/CK.yaml +77 -77
  283. data/lib/countries/data/subdivisions/CN.yaml +0 -107
  284. data/lib/countries/data/subdivisions/CV.yaml +9 -9
  285. data/lib/countries/data/subdivisions/CZ.yaml +115 -50
  286. data/lib/countries/data/subdivisions/DK.yaml +1 -0
  287. data/lib/countries/data/subdivisions/DO.yaml +11 -11
  288. data/lib/countries/data/subdivisions/EE.yaml +78 -2
  289. data/lib/countries/data/subdivisions/EH.yaml +12 -12
  290. data/lib/countries/data/subdivisions/ES.yaml +17 -17
  291. data/lib/countries/data/subdivisions/FI.yaml +16 -16
  292. data/lib/countries/data/subdivisions/FJ.yaml +14 -14
  293. data/lib/countries/data/subdivisions/GB.yaml +21 -20
  294. data/lib/countries/data/subdivisions/GH.yaml +7 -7
  295. data/lib/countries/data/subdivisions/GL.yaml +6 -6
  296. data/lib/countries/data/subdivisions/GN.yaml +7 -7
  297. data/lib/countries/data/subdivisions/GQ.yaml +1 -0
  298. data/lib/countries/data/subdivisions/GR.yaml +1 -1
  299. data/lib/countries/data/subdivisions/GW.yaml +3 -3
  300. data/lib/countries/data/subdivisions/HT.yaml +1 -1
  301. data/lib/countries/data/subdivisions/ID.yaml +41 -41
  302. data/lib/countries/data/subdivisions/IE.yaml +1 -2
  303. data/lib/countries/data/subdivisions/IN.yaml +4 -3
  304. data/lib/countries/data/subdivisions/IQ.yaml +1 -1
  305. data/lib/countries/data/subdivisions/IR.yaml +2 -1
  306. data/lib/countries/data/subdivisions/IS.yaml +72 -0
  307. data/lib/countries/data/subdivisions/IT.yaml +7 -8
  308. data/lib/countries/data/subdivisions/KE.yaml +391 -503
  309. data/lib/countries/data/subdivisions/KG.yaml +1 -1
  310. data/lib/countries/data/subdivisions/KH.yaml +1 -1
  311. data/lib/countries/data/subdivisions/KN.yaml +2 -2
  312. data/lib/countries/data/subdivisions/KP.yaml +12 -12
  313. data/lib/countries/data/subdivisions/KR.yaml +1 -1
  314. data/lib/countries/data/subdivisions/KZ.yaml +1 -1
  315. data/lib/countries/data/subdivisions/LA.yaml +1 -1
  316. data/lib/countries/data/subdivisions/LB.yaml +2 -2
  317. data/lib/countries/data/subdivisions/LC.yaml +10 -10
  318. data/lib/countries/data/subdivisions/LK.yaml +9 -9
  319. data/lib/countries/data/subdivisions/LR.yaml +2 -2
  320. data/lib/countries/data/subdivisions/LT.yaml +60 -60
  321. data/lib/countries/data/subdivisions/LU.yaml +1 -1
  322. data/lib/countries/data/subdivisions/LV.yaml +6 -0
  323. data/lib/countries/data/subdivisions/MA.yaml +35 -35
  324. data/lib/countries/data/subdivisions/MC.yaml +17 -17
  325. data/lib/countries/data/subdivisions/MD.yaml +740 -740
  326. data/lib/countries/data/subdivisions/ME.yaml +3 -3
  327. data/lib/countries/data/subdivisions/MH.yaml +2 -2
  328. data/lib/countries/data/subdivisions/MK.yaml +3501 -5809
  329. data/lib/countries/data/subdivisions/ML.yaml +2 -2
  330. data/lib/countries/data/subdivisions/MM.yaml +1 -1
  331. data/lib/countries/data/subdivisions/MR.yaml +3 -3
  332. data/lib/countries/data/subdivisions/MV.yaml +8 -8
  333. data/lib/countries/data/subdivisions/MW.yaml +4 -4
  334. data/lib/countries/data/subdivisions/MX.yaml +1 -1
  335. data/lib/countries/data/subdivisions/NL.yaml +6 -6
  336. data/lib/countries/data/subdivisions/NO.yaml +1 -0
  337. data/lib/countries/data/subdivisions/NP.yaml +12 -12
  338. data/lib/countries/data/subdivisions/NZ.yaml +1 -1
  339. data/lib/countries/data/subdivisions/OM.yaml +6 -6
  340. data/lib/countries/data/subdivisions/PG.yaml +3 -3
  341. data/lib/countries/data/subdivisions/PH.yaml +16 -16
  342. data/lib/countries/data/subdivisions/PK.yaml +2 -2
  343. data/lib/countries/data/subdivisions/PS.yaml +16 -16
  344. data/lib/countries/data/subdivisions/QA.yaml +2 -2
  345. data/lib/countries/data/subdivisions/RS.yaml +2 -2
  346. data/lib/countries/data/subdivisions/SC.yaml +4 -2
  347. data/lib/countries/data/subdivisions/SG.yaml +39 -109
  348. data/lib/countries/data/subdivisions/SH.yaml +1 -1
  349. data/lib/countries/data/subdivisions/SI.yaml +19 -19
  350. data/lib/countries/data/subdivisions/SJ.yaml +14 -14
  351. data/lib/countries/data/subdivisions/SL.yaml +1 -1
  352. data/lib/countries/data/subdivisions/SN.yaml +3 -3
  353. data/lib/countries/data/subdivisions/SS.yaml +10 -10
  354. data/lib/countries/data/subdivisions/ST.yaml +6 -0
  355. data/lib/countries/data/subdivisions/TD.yaml +6 -6
  356. data/lib/countries/data/subdivisions/TH.yaml +1 -1
  357. data/lib/countries/data/subdivisions/TJ.yaml +2 -2
  358. data/lib/countries/data/subdivisions/TK.yaml +21 -21
  359. data/lib/countries/data/subdivisions/TM.yaml +1 -1
  360. data/lib/countries/data/subdivisions/TT.yaml +2 -2
  361. data/lib/countries/data/subdivisions/TV.yaml +1 -1
  362. data/lib/countries/data/subdivisions/TW.yaml +3 -17
  363. data/lib/countries/data/subdivisions/TZ.yaml +5 -5
  364. data/lib/countries/data/subdivisions/UG.yaml +59 -52
  365. data/lib/countries/data/subdivisions/UM.yaml +0 -10
  366. data/lib/countries/data/subdivisions/US.yaml +0 -42
  367. data/lib/countries/data/subdivisions/WF.yaml +3 -13
  368. data/lib/countries/data/subdivisions/YE.yaml +3 -3
  369. data/lib/countries/data/subdivisions/ZA.yaml +2 -2
  370. data/lib/countries/data/subdivisions/ZM.yaml +1 -1
  371. data/lib/countries/data/translation_corrections.yaml +20 -14
  372. data/lib/countries/data.rb +5 -1
  373. data/lib/countries/global.rb +13 -3
  374. data/lib/countries/mongoid.rb +3 -0
  375. data/lib/countries/sources/cldr/downloader.rb +3 -0
  376. data/lib/countries/sources/cldr/subdivision.rb +1 -0
  377. data/lib/countries/sources/cldr/subdivision_updater.rb +1 -0
  378. data/lib/countries/sources/local/cached_loader.rb +2 -0
  379. data/lib/countries/sources/local/subdivision.rb +1 -0
  380. data/lib/countries/structure.rb +2 -5
  381. data/lib/countries/tasks/geocoding.rake +1 -1
  382. data/lib/countries/timezones.rb +4 -2
  383. data/lib/countries/translations.rb +2 -3
  384. data/lib/countries/version.rb +1 -1
  385. data/spec/country_spec.rb +60 -56
  386. data/spec/data_spec.rb +9 -9
  387. metadata +5 -36
  388. data/lib/countries/data/subdivisions/AS.yaml +0 -85
  389. data/lib/countries/data/subdivisions/AW.yaml +0 -9
  390. data/lib/countries/data/subdivisions/AX.yaml +0 -51
  391. data/lib/countries/data/subdivisions/BL.yaml +0 -11
  392. data/lib/countries/data/subdivisions/CP.yaml +0 -4
  393. data/lib/countries/data/subdivisions/CW.yaml +0 -9
  394. data/lib/countries/data/subdivisions/FO.yaml +0 -85
  395. data/lib/countries/data/subdivisions/GF.yaml +0 -11
  396. data/lib/countries/data/subdivisions/GG.yaml +0 -155
  397. data/lib/countries/data/subdivisions/GP.yaml +0 -11
  398. data/lib/countries/data/subdivisions/GU.yaml +0 -275
  399. data/lib/countries/data/subdivisions/HK.yaml +0 -267
  400. data/lib/countries/data/subdivisions/IC.yaml +0 -4
  401. data/lib/countries/data/subdivisions/IM.yaml +0 -337
  402. data/lib/countries/data/subdivisions/JE.yaml +0 -169
  403. data/lib/countries/data/subdivisions/KY.yaml +0 -85
  404. data/lib/countries/data/subdivisions/MF.yaml +0 -9
  405. data/lib/countries/data/subdivisions/MO.yaml +0 -9
  406. data/lib/countries/data/subdivisions/MP.yaml +0 -71
  407. data/lib/countries/data/subdivisions/MQ.yaml +0 -11
  408. data/lib/countries/data/subdivisions/MS.yaml +0 -43
  409. data/lib/countries/data/subdivisions/NC.yaml +0 -57
  410. data/lib/countries/data/subdivisions/PF.yaml +0 -81
  411. data/lib/countries/data/subdivisions/PM.yaml +0 -39
  412. data/lib/countries/data/subdivisions/PR.yaml +0 -1107
  413. data/lib/countries/data/subdivisions/RE.yaml +0 -11
  414. data/lib/countries/data/subdivisions/SX.yaml +0 -9
  415. data/lib/countries/data/subdivisions/TA.yaml +0 -4
  416. data/lib/countries/data/subdivisions/TF.yaml +0 -67
  417. data/lib/countries/data/subdivisions/VI.yaml +0 -57
  418. data/lib/countries/data/subdivisions/YT.yaml +0 -247
@@ -1,7 +1,17 @@
1
1
  require 'countries'
2
2
 
3
+ # Some apps might not want to constantly call +ISO3166::Country+. This gem has a helper that can provide a Country class
4
+ #
5
+ # With global Country Helper enabled
6
+ #
7
+ # c = Country['US']
8
+ #
9
+ # This will conflict with any existing Country constant
10
+ #
11
+ # To Use
12
+ #
13
+ # gem 'countries', require: 'countries/global'
14
+ #
3
15
  class Country < ISO3166::Country
4
- def to_s
5
- name
6
- end
16
+
7
17
  end
@@ -5,6 +5,7 @@ module ISO3166
5
5
  end
6
6
 
7
7
  class << self
8
+ # Convert an +ISO3166::Country+ to the data that is stored by Mongoid.
8
9
  def mongoize(country)
9
10
  if country.is_a?(self) && !country.data.nil?
10
11
  country.alpha2
@@ -13,10 +14,12 @@ module ISO3166
13
14
  end
14
15
  end
15
16
 
17
+ # Get the object as it was stored with Mongoid, and instantiate an +ISO3166::Country+.
16
18
  def demongoize(alpha2)
17
19
  new(alpha2)
18
20
  end
19
21
 
22
+ # Convert an +ISO3166::Country+ to the data that is stored by Mongoid.
20
23
  def evolve(country)
21
24
  mongoize(country)
22
25
  end
@@ -4,8 +4,11 @@ require 'nokogiri'
4
4
  require 'fileutils'
5
5
  require 'json'
6
6
 
7
+ # Support code to allow updating subdivision data from the Unicode CLDR repository
7
8
  module Sources
9
+ # Support code to allow updating subdivision data from the Unicode CLDR repository
8
10
  module CLDR
11
+ # Downloads data from the Unicode CLDR repository
9
12
  module Downloader
10
13
  module_function
11
14
 
@@ -1,5 +1,6 @@
1
1
  module Sources
2
2
  module CLDR
3
+ # Auxiliary Subdivision class to support loading Unicode CLDR data to update local files
3
4
  class Subdivision
4
5
  attr_reader :xml, :language_code
5
6
  def initialize(language_code:, xml:)
@@ -5,6 +5,7 @@ require 'pry'
5
5
 
6
6
  module Sources
7
7
  module CLDR
8
+ # Updates local subdivision files with data from the Unicode CLDR repository
8
9
  class SubdivisionUpdater
9
10
  def call
10
11
  d = Dir['./tmp/cldr/trunk/common/subdivisions/*.xml']
@@ -1,5 +1,7 @@
1
1
  module Sources
2
+ # Support code to allow updating subdivision data from the Unicode CLDR repository
2
3
  module Local
4
+ # Loader for locally-cached data, to allow merging Unicode CLDR data with existing local data
3
5
  class CachedLoader
4
6
  attr_reader :klass
5
7
  def initialize(klass)
@@ -1,5 +1,6 @@
1
1
  module Sources
2
2
  module Local
3
+ # Auxiliary Subdivision class to support loading the local subdivision data to be updated with Unicode CLDR data
3
4
  class Subdivision
4
5
  attr_reader :code
5
6
  def initialize(code)
@@ -11,9 +11,7 @@ module ISO3166
11
11
  'gec' => nil,
12
12
  'geo' => {
13
13
  'latitude' => nil,
14
- 'latitude_dec' => nil,
15
14
  'longitude' => nil,
16
- 'longitude_dec' => nil,
17
15
  'max_latitude' => nil,
18
16
  'max_longitude' => nil,
19
17
  'min_latitude' => nil,
@@ -31,7 +29,8 @@ module ISO3166
31
29
  },
32
30
  'international_prefix' => nil,
33
31
  'ioc' => nil,
34
- 'name' => nil,
32
+ 'iso_long_name' => nil,
33
+ 'iso_short_name' => nil,
35
34
  'national_destination_code_lengths' => [],
36
35
  'national_number_lengths' => [],
37
36
  'national_prefix' => nil,
@@ -63,9 +62,7 @@ module ISO3166
63
62
  'translations' => {},
64
63
  'geo' => {
65
64
  'latitude' => nil,
66
- 'latitude_dec' => nil,
67
65
  'longitude' => nil,
68
- 'longitude_dec' => nil,
69
66
  'max_latitude' => nil,
70
67
  'max_longitude' => nil,
71
68
  'min_latitude' => nil,
@@ -43,7 +43,7 @@ namespace :geocode do
43
43
  # Load unmutated yaml file.
44
44
  data = load_country_yaml(country.alpha2)
45
45
 
46
- next unless (result = geocode(country.name, {region: country.alpha2}))
46
+ next unless (result = geocode(country.iso_short_name, {region: country.alpha2}))
47
47
  puts "WARNING:: Geocoder returned something that was not a country for #{country.alpha2}" unless result.types.include?('country')
48
48
  geometry = result.geometry
49
49
 
@@ -1,6 +1,8 @@
1
- # Extend Country class with support for timezones
2
1
  module ISO3166
3
- # Extend Country class with support for timezones
2
+ # Extend Country class with support for timezones. Requires the {tzinfo}[https://github.com/tzinfo/tzinfo] gem
3
+ #
4
+ # gem 'tzinfo'
5
+ #
4
6
  module TimezoneExtensions
5
7
  def timezones
6
8
  @tz_country ||= TZInfo::Country.get(alpha2)
@@ -1,9 +1,8 @@
1
1
  module ISO3166
2
2
  # Extend the hash class to allow locale lookup fall back behavior
3
3
  #
4
- # ex:
5
- # if a country has translations for pt, and the user looks up `pt-br` fallback
6
- # to `pt` to prevent from showing nil values
4
+ # E.g. if a country has translations for +pt+, and the user looks up +pt-br+ fallback
5
+ # to +pt+ to prevent from showing nil values
7
6
  class Translations < Hash
8
7
  def [](locale)
9
8
  super(locale) || super(locale.to_s.sub(/-.*/, ''))
@@ -1,3 +1,3 @@
1
1
  module Countries
2
- VERSION = '4.1.2'.freeze
2
+ VERSION = '4.2.2'.freeze
3
3
  end
data/spec/country_spec.rb CHANGED
@@ -43,12 +43,12 @@ describe ISO3166::Country do
43
43
  expect(country.alpha3).to eq('USA')
44
44
  end
45
45
 
46
- it 'should return 3166 name' do
47
- expect(country.name).to eq('United States of America')
46
+ it 'should return 3166 iso_short_name' do
47
+ expect(country.iso_short_name).to eq('United States of America')
48
48
  end
49
49
 
50
50
  it 'should return alternate names' do
51
- expect(country.names).to eq(['United States', 'Murica', 'Vereinigte Staaten von Amerika', 'États-Unis', 'Estados Unidos', 'アメリカ合衆国', 'Verenigde Staten'])
51
+ expect(country.unofficial_names).to eq(['United States', 'USA', 'Murica', 'Vereinigte Staaten von Amerika', 'États-Unis', 'Estados Unidos', 'アメリカ合衆国', 'Verenigde Staten'])
52
52
  end
53
53
 
54
54
  it 'should return translations' do
@@ -65,15 +65,7 @@ describe ISO3166::Country do
65
65
  end
66
66
 
67
67
  it 'should return bounds' do
68
- expect(country.bounds['northeast']['lat']).to eq(71.5388001)
69
- end
70
-
71
- it 'should return the decimal Latitude' do
72
- expect(country.latitude_dec).to eq('39.44325637817383')
73
- end
74
-
75
- it 'should return the decimal Longitude' do
76
- expect(country.longitude_dec).to eq('-98.95733642578125')
68
+ expect(country.bounds['northeast']['lat']).to eq(71.3577635769)
77
69
  end
78
70
 
79
71
  it 'should return continent' do
@@ -144,7 +136,7 @@ describe ISO3166::Country do
144
136
  before do
145
137
  ISO3166::Data.register(
146
138
  alpha2: 'BR2',
147
- name: 'Brazil',
139
+ iso_short_name: 'Brazil',
148
140
  languages_official: %w(pt-BR),
149
141
  translations: {
150
142
  'pt-BR' => 'Translation for pt-BR',
@@ -168,7 +160,7 @@ describe ISO3166::Country do
168
160
  before do
169
161
  ISO3166::Data.register(
170
162
  alpha2: 'BR2',
171
- name: 'Brazil',
163
+ iso_short_name: 'Brazil',
172
164
  languages_official: %w(pt-BR),
173
165
  translations: {
174
166
  'pt' => 'Translation for pt'
@@ -233,11 +225,11 @@ describe ISO3166::Country do
233
225
  end
234
226
 
235
227
  it 'should return a hash with all sub divisions' do
236
- expect(country.subdivisions.size).to eq(60)
228
+ expect(country.subdivisions.size).to eq(57)
237
229
  end
238
230
 
239
231
  it 'should be available through states' do
240
- expect(country.states.size).to eq(60)
232
+ expect(country.states.size).to eq(57)
241
233
  end
242
234
 
243
235
  it 'should be a subdivision object' do
@@ -323,7 +315,7 @@ describe ISO3166::Country do
323
315
  end
324
316
 
325
317
  it 'should allow to customize each country representation passing a block to the method' do
326
- countries = ISO3166::Country.all { |country, data| [data['name'], country, data['country_code']] }
318
+ countries = ISO3166::Country.all { |country, data| [data['iso_short_name'], country, data['country_code']] }
327
319
  expect(countries).to be_an(Array)
328
320
  expect(countries.first).to be_an(Array)
329
321
  expect(countries.first.size).to eq(3)
@@ -354,7 +346,7 @@ describe ISO3166::Country do
354
346
  before do
355
347
  ISO3166::Data.register(
356
348
  alpha2: 'XX',
357
- name: 'Custom Country',
349
+ iso_short_name: 'Custom Country',
358
350
  translations: { 'en' => 'Custom Country' }
359
351
  )
360
352
  end
@@ -362,7 +354,7 @@ describe ISO3166::Country do
362
354
  it 'should include custom registered countries' do
363
355
  custom_country = ISO3166::Country.find_by_alpha2('XX')[1]
364
356
  countries = ISO3166::Country.all_translated
365
- expect(countries).to include(custom_country['name'])
357
+ expect(countries).to include(custom_country['iso_short_name'])
366
358
  end
367
359
 
368
360
  after do
@@ -549,7 +541,7 @@ describe ISO3166::Country do
549
541
  end
550
542
 
551
543
  it 'also performs searches with regexps and forces it to ignore case' do
552
- spain_data = ISO3166::Country.find_all_by(:names, /Españ/)
544
+ spain_data = ISO3166::Country.find_all_by(:unofficial_names, /Españ/)
553
545
  expect(spain_data).to be_a Hash
554
546
  expect(spain_data.keys).to eq(['ES'])
555
547
  end
@@ -561,7 +553,7 @@ describe ISO3166::Country do
561
553
  case lookup.length
562
554
  when 2 then ISO3166::Country.find_all_by(:alpha2, lookup)
563
555
  when 3 then ISO3166::Country.find_all_by(:alpha3, lookup)
564
- else ISO3166::Country.find_all_by(:name, lookup)
556
+ else ISO3166::Country.find_all_by(:iso_short_name, lookup)
565
557
  end
566
558
  end
567
559
  expect(Time.now - start).to be < 1
@@ -569,22 +561,22 @@ describe ISO3166::Country do
569
561
  end
570
562
 
571
563
  describe 'hash finder methods' do
572
- context "when search name in 'name'" do
573
- subject { ISO3166::Country.find_by_name('Poland') }
564
+ context "when search name in 'iso_short_name'" do
565
+ subject { ISO3166::Country.find_by_iso_short_name('Poland') }
574
566
  it 'should return' do
575
567
  expect(subject.first).to eq('PL')
576
568
  end
577
569
  end
578
570
 
579
- context "when search lowercase name in 'name'" do
580
- subject { ISO3166::Country.find_by_name('poland') }
571
+ context "when search lowercase name in 'iso_short_name'" do
572
+ subject { ISO3166::Country.find_by_iso_short_name('poland') }
581
573
  it 'should return' do
582
574
  expect(subject.first).to eq('PL')
583
575
  end
584
576
  end
585
577
 
586
- context "when search name with comma in 'name'" do
587
- subject { ISO3166::Country.find_by_name(country_name) }
578
+ context "when search name with comma in 'iso_short_name'" do
579
+ subject { ISO3166::Country.find_by_iso_short_name(country_name) }
588
580
 
589
581
  context 'with Republic of Korea' do
590
582
  let(:country_name) { 'Korea, Republic of' }
@@ -609,7 +601,7 @@ describe ISO3166::Country do
609
601
  end
610
602
 
611
603
  context 'when search lowercase multibyte name found' do
612
- subject { ISO3166::Country.find_country_by_name('россия') }
604
+ subject { ISO3166::Country.find_country_by_unofficial_names('россия') }
613
605
 
614
606
  it 'should be a country instance' do
615
607
  expect(subject).to be_a(ISO3166::Country)
@@ -618,7 +610,7 @@ describe ISO3166::Country do
618
610
  end
619
611
 
620
612
  context 'when search lowercase multibyte name found' do
621
- subject { ISO3166::Country.find_country_by_name(/россия/) }
613
+ subject { ISO3166::Country.find_country_by_unofficial_names(/россия/) }
622
614
 
623
615
  it 'should be a country instance' do
624
616
  expect(subject).to be_a(ISO3166::Country)
@@ -627,7 +619,7 @@ describe ISO3166::Country do
627
619
  end
628
620
 
629
621
  context 'when accents are not used' do
630
- subject { ISO3166::Country.find_country_by_name('emirats Arabes Unis') }
622
+ subject { ISO3166::Country.find_country_by_unofficial_names('emirats Arabes Unis') }
631
623
 
632
624
  it 'should be a country instance' do
633
625
  expect(subject).to be_a(ISO3166::Country)
@@ -635,8 +627,20 @@ describe ISO3166::Country do
635
627
  end
636
628
  end
637
629
 
638
- context "when search name in 'names'" do
639
- subject { ISO3166::Country.find_by_name('Polonia') }
630
+ context "when search name in 'unofficial_names'" do
631
+ subject { ISO3166::Country.find_by_unofficial_names('Polonia') }
632
+ it 'should return' do
633
+ expect(subject.first).to eq('PL')
634
+ end
635
+ end
636
+
637
+ context "when search name in 'translated_names'" do
638
+ before do
639
+ ISO3166.configure do |config|
640
+ config.locales = [:bs]
641
+ end
642
+ end
643
+ subject { ISO3166::Country.find_by_translated_names('Poljska') }
640
644
  it 'should return' do
641
645
  expect(subject.first).to eq('PL')
642
646
  end
@@ -669,7 +673,7 @@ describe ISO3166::Country do
669
673
 
670
674
  describe 'country finder methods' do
671
675
  context 'when search name found' do
672
- let(:uk) { ISO3166::Country.find_country_by_name('United Kingdom') }
676
+ let(:uk) { ISO3166::Country.find_country_by_unofficial_names('United Kingdom') }
673
677
 
674
678
  it 'should be a country instance' do
675
679
  expect(uk).to be_a(ISO3166::Country)
@@ -678,7 +682,7 @@ describe ISO3166::Country do
678
682
  end
679
683
 
680
684
  context 'when search lowercase name found' do
681
- let(:uk) { ISO3166::Country.find_country_by_name('united kingdom') }
685
+ let(:uk) { ISO3166::Country.find_country_by_unofficial_names('united kingdom') }
682
686
 
683
687
  it 'should be a country instance' do
684
688
  expect(uk).to be_a(ISO3166::Country)
@@ -687,7 +691,7 @@ describe ISO3166::Country do
687
691
  end
688
692
 
689
693
  context 'when the search term contains comma' do
690
- let(:korea) { ISO3166::Country.find_country_by_name('Korea, Republic of') }
694
+ let(:korea) { ISO3166::Country.find_country_by_unofficial_names('Korea, Republic of') }
691
695
 
692
696
  it 'should be a country instance' do
693
697
  expect(korea).to be_a(ISO3166::Country)
@@ -726,7 +730,7 @@ describe ISO3166::Country do
726
730
  end
727
731
  end
728
732
  context 'when search name not found' do
729
- let(:bogus) { ISO3166::Country.find_country_by_name('Does not exist') }
733
+ let(:bogus) { ISO3166::Country.find_country_by_unofficial_names('Does not exist') }
730
734
 
731
735
  it 'should be a country instance' do
732
736
  expect(bogus).to eq(nil)
@@ -735,7 +739,7 @@ describe ISO3166::Country do
735
739
 
736
740
  # Spot checks #243
737
741
  context 'when search name not found' do
738
- let(:belgium) { ISO3166::Country.find_country_by_name('Belgium') }
742
+ let(:belgium) { ISO3166::Country.find_country_by_unofficial_names('Belgium') }
739
743
 
740
744
  it 'should be a country instance' do
741
745
  expect(belgium.alpha2).to eq('BE')
@@ -744,7 +748,7 @@ describe ISO3166::Country do
744
748
 
745
749
  # Spot checks #240
746
750
  context 'when search name not found' do
747
- let(:canada) { ISO3166::Country.find_country_by_name('Canada') }
751
+ let(:canada) { ISO3166::Country.find_country_by_unofficial_names('Canada') }
748
752
 
749
753
  it 'should be a country instance' do
750
754
  expect(canada.alpha2).to eq('CA')
@@ -753,7 +757,7 @@ describe ISO3166::Country do
753
757
 
754
758
  # Spot checks #241
755
759
  context 'when search name not found' do
756
- let(:israel) { ISO3166::Country.find_country_by_name('Israel') }
760
+ let(:israel) { ISO3166::Country.find_country_by_unofficial_names('Israel') }
757
761
 
758
762
  it 'should be a country instance' do
759
763
  expect(israel.alpha2).to eq('IL')
@@ -762,7 +766,7 @@ describe ISO3166::Country do
762
766
 
763
767
  # Spot checks #241
764
768
  context 'when search name not found' do
765
- let(:israel) { ISO3166::Country.find_by_name('Israel') }
769
+ let(:israel) { ISO3166::Country.find_by_iso_short_name('Israel') }
766
770
 
767
771
  it 'should be a country instance' do
768
772
  expect(israel[0]).to eq('IL')
@@ -771,7 +775,7 @@ describe ISO3166::Country do
771
775
 
772
776
  # Spot checks #241
773
777
  context 'when search name not found' do
774
- let(:israel) { ISO3166::Country.find_all_by(:name, 'Israel') }
778
+ let(:israel) { ISO3166::Country.find_all_by(:iso_short_name, 'Israel') }
775
779
 
776
780
  it 'should be a country instance' do
777
781
  expect(israel.size).to eq(1)
@@ -820,7 +824,7 @@ describe ISO3166::Country do
820
824
 
821
825
  describe 'hash finder methods' do
822
826
  context 'find by a valid Country attribute' do
823
- let(:method_name) { :find_by_name }
827
+ let(:method_name) { :find_by_iso_short_name }
824
828
  it { is_expected.to be true }
825
829
  end
826
830
 
@@ -846,7 +850,7 @@ describe ISO3166::Country do
846
850
  describe 'names in Data' do
847
851
  it 'should be unique (to allow .find_by_name work properly)' do
848
852
  names = ISO3166::Data.cache.map do |_k, v|
849
- [v['name'], v['unofficial_names']].flatten.uniq
853
+ [v['iso_short_name'], v['unofficial_names']].flatten.uniq
850
854
  end.flatten
851
855
 
852
856
  expect(names.size).to eq(names.uniq.size)
@@ -929,7 +933,7 @@ describe ISO3166::Country do
929
933
  end
930
934
 
931
935
  describe 'to_s' do
932
- it 'should return the country name' do
936
+ it 'should return the country iso_short_name' do
933
937
  expect(ISO3166::Country.new('GB').to_s).to eq('United Kingdom of Great Britain and Northern Ireland')
934
938
  end
935
939
  end
@@ -970,30 +974,30 @@ describe ISO3166::Country do
970
974
 
971
975
  describe 'Added country names to search by' do
972
976
  it 'should return country code for Democratic Republic of the Congo' do
973
- expect(ISO3166::Country.find_country_by_name('Democratic Republic of the Congo').alpha2).to eq 'CD'
977
+ expect(ISO3166::Country.find_country_by_unofficial_names('Democratic Republic of the Congo').alpha2).to eq 'CD'
974
978
  end
975
979
  it 'should return country code for Ivory Coast' do
976
- expect(ISO3166::Country.find_country_by_name('Ivory Coast').alpha2).to eq 'CI'
980
+ expect(ISO3166::Country.find_country_by_unofficial_names('Ivory Coast').alpha2).to eq 'CI'
977
981
  end
978
982
  it 'should return Pakistan code for Guinea Bissau' do
979
- expect(ISO3166::Country.find_country_by_name('Guinea Bissau').alpha2).to eq 'GW'
983
+ expect(ISO3166::Country.find_country_by_unofficial_names('Guinea Bissau').alpha2).to eq 'GW'
980
984
  end
981
985
  it 'should return Pakistan code for St Kitts and Nevis' do
982
- expect(ISO3166::Country.find_country_by_name('St Kitts and Nevis').alpha2).to eq 'KN'
986
+ expect(ISO3166::Country.find_country_by_unofficial_names('St Kitts and Nevis').alpha2).to eq 'KN'
983
987
  end
984
988
  it 'should return Pakistan code for St Lucia' do
985
- expect(ISO3166::Country.find_country_by_name('St Lucia').alpha2).to eq 'LC'
986
- expect(ISO3166::Country.find_country_by_name('St. Lucia').alpha2).to eq 'LC'
989
+ expect(ISO3166::Country.find_country_by_unofficial_names('St Lucia').alpha2).to eq 'LC'
990
+ expect(ISO3166::Country.find_country_by_unofficial_names('St. Lucia').alpha2).to eq 'LC'
987
991
  end
988
992
  it 'should return Pakistan code for Turks and Caicos' do
989
- expect(ISO3166::Country.find_country_by_name('Turks and Caicos').alpha2).to eq 'TC'
993
+ expect(ISO3166::Country.find_country_by_unofficial_names('Turks and Caicos').alpha2).to eq 'TC'
990
994
  end
991
995
  it 'should return Pakistan code for St Vincent Grenadines' do
992
- expect(ISO3166::Country.find_country_by_name('St Vincent Grenadines').alpha2).to eq 'VC'
993
- expect(ISO3166::Country.find_country_by_name('St. Vincent Grenadines').alpha2).to eq 'VC'
996
+ expect(ISO3166::Country.find_country_by_unofficial_names('St Vincent Grenadines').alpha2).to eq 'VC'
997
+ expect(ISO3166::Country.find_country_by_unofficial_names('St. Vincent Grenadines').alpha2).to eq 'VC'
994
998
  end
995
999
  it 'should return country code for Palestinian Authority' do
996
- expect(ISO3166::Country.find_country_by_name('Palestinian Authority').alpha2).to eq 'PS'
1000
+ expect(ISO3166::Country.find_country_by_unofficial_names('Palestinian Authority').alpha2).to eq 'PS'
997
1001
  end
998
1002
  end
999
1003
 
@@ -1022,8 +1026,8 @@ describe ISO3166::Country do
1022
1026
  expect(subject.last).to be_empty
1023
1027
  end
1024
1028
 
1025
- context "when asking for alpha2, alpha3 and name" do
1026
- let(:args) { [:alpha2, :alpha3, :name] }
1029
+ context "when asking for alpha2, alpha3 and iso_short_name" do
1030
+ let(:args) { [:alpha2, :alpha3, :iso_short_name] }
1027
1031
 
1028
1032
  it "returns the correct values" do
1029
1033
  expect(subject.first).to eq(["AD", "AND", "Andorra"])
data/spec/data_spec.rb CHANGED
@@ -95,7 +95,7 @@ describe ISO3166::Data do
95
95
  before do
96
96
  ISO3166::Data.register(
97
97
  alpha2: 'TW',
98
- name: 'NEW Taiwan',
98
+ iso_short_name: 'NEW Taiwan',
99
99
  subdivisions: {
100
100
  CHA: {name: 'New Changhua'},
101
101
  CYI: {name: 'New Municipality'}
@@ -112,8 +112,8 @@ describe ISO3166::Data do
112
112
  it 'can be done' do
113
113
  data = ISO3166::Data.new('TW').call
114
114
  ISO3166.configuration.locales = [:es, :de, :de]
115
- expect(data['name']).to eq 'NEW Taiwan'
116
- expect(subject.name).to eq 'NEW Taiwan'
115
+ expect(data['iso_short_name']).to eq 'NEW Taiwan'
116
+ expect(subject.iso_short_name).to eq 'NEW Taiwan'
117
117
  expect(subject.translations).to eq('en' => 'NEW Taiwan',
118
118
  'de' => 'NEW Taiwan')
119
119
  expect(subject.subdivisions).to eq('CHA' => ISO3166::Subdivision.new({name: 'New Changhua', code: 'CHA'}),
@@ -125,7 +125,7 @@ describe ISO3166::Data do
125
125
  before do
126
126
  ISO3166::Data.register(
127
127
  alpha2: 'LOL',
128
- name: 'Happy Country',
128
+ iso_short_name: 'Happy Country',
129
129
  subdivisions: {
130
130
  LOL1: {name: 'Happy sub1'},
131
131
  LOL2: {name: 'Happy sub2'}
@@ -141,17 +141,17 @@ describe ISO3166::Data do
141
141
 
142
142
  it 'can be done' do
143
143
  data = ISO3166::Data.new('LOL').call
144
- expect(data['name']).to eq 'Happy Country'
145
- expect(subject.name).to eq 'Happy Country'
144
+ expect(data['iso_short_name']).to eq 'Happy Country'
145
+ expect(subject.iso_short_name).to eq 'Happy Country'
146
146
  expect(subject.subdivisions).to eq('LOL1' => ISO3166::Subdivision.new({name: 'Happy sub1', code: 'LOL1'}),
147
147
  'LOL2' => ISO3166::Subdivision.new({name: 'Happy sub2', code: 'LOL2'}))
148
148
  end
149
149
 
150
150
  it 'detect a stale cache' do
151
- ISO3166::Data.register(alpha2: 'SAD', name: 'Sad Country')
151
+ ISO3166::Data.register(alpha2: 'SAD', iso_short_name: 'Sad Country')
152
152
  data = ISO3166::Data.new('SAD').call
153
- expect(data['name']).to eq 'Sad Country'
154
- expect(ISO3166::Country.new('SAD').name).to eq 'Sad Country'
153
+ expect(data['iso_short_name']).to eq 'Sad Country'
154
+ expect(ISO3166::Country.new('SAD').iso_short_name).to eq 'Sad Country'
155
155
  ISO3166::Data.unregister('SAD')
156
156
  end
157
157