countries 2.0.0.pre.2 → 2.0.0.pre.3

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 (660) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -0
  3. data/CHANGELOG.md +9 -0
  4. data/README.markdown +116 -78
  5. data/Rakefile +37 -16
  6. data/bin/console +14 -0
  7. data/countries.gemspec +3 -2
  8. data/lib/countries.rb +3 -0
  9. data/lib/countries/cache/countries.json +1 -0
  10. data/lib/countries/cache/locales/af.json +1 -0
  11. data/lib/countries/cache/locales/am.json +1 -0
  12. data/lib/countries/cache/locales/ar.json +1 -0
  13. data/lib/countries/cache/locales/as.json +1 -0
  14. data/lib/countries/cache/locales/az.json +1 -0
  15. data/lib/countries/cache/locales/be.json +1 -0
  16. data/lib/countries/cache/locales/bg.json +1 -0
  17. data/lib/countries/cache/locales/bn.json +1 -0
  18. data/lib/countries/cache/locales/br.json +1 -0
  19. data/lib/countries/cache/locales/bs.json +1 -0
  20. data/lib/countries/cache/locales/ca.json +1 -0
  21. data/lib/countries/cache/locales/cs.json +1 -0
  22. data/lib/countries/cache/locales/cy.json +1 -0
  23. data/lib/countries/cache/locales/da.json +1 -0
  24. data/lib/countries/cache/locales/de.json +1 -0
  25. data/lib/countries/cache/locales/dz.json +1 -0
  26. data/lib/countries/cache/locales/el.json +1 -0
  27. data/lib/countries/cache/locales/en.json +1 -0
  28. data/lib/countries/cache/locales/eo.json +1 -0
  29. data/lib/countries/cache/locales/es.json +1 -0
  30. data/lib/countries/cache/locales/et.json +1 -0
  31. data/lib/countries/cache/locales/eu.json +1 -0
  32. data/lib/countries/cache/locales/fa.json +1 -0
  33. data/lib/countries/cache/locales/fi.json +1 -0
  34. data/lib/countries/cache/locales/fo.json +1 -0
  35. data/lib/countries/cache/locales/fr.json +1 -0
  36. data/lib/countries/cache/locales/ga.json +1 -0
  37. data/lib/countries/cache/locales/gl.json +1 -0
  38. data/lib/countries/cache/locales/gu.json +1 -0
  39. data/lib/countries/cache/locales/he.json +1 -0
  40. data/lib/countries/cache/locales/hi.json +1 -0
  41. data/lib/countries/cache/locales/hr.json +1 -0
  42. data/lib/countries/cache/locales/hu.json +1 -0
  43. data/lib/countries/cache/locales/hy.json +1 -0
  44. data/lib/countries/cache/locales/ia.json +1 -0
  45. data/lib/countries/cache/locales/id.json +1 -0
  46. data/lib/countries/cache/locales/is.json +1 -0
  47. data/lib/countries/cache/locales/it.json +1 -0
  48. data/lib/countries/cache/locales/ja.json +1 -0
  49. data/lib/countries/cache/locales/ka.json +1 -0
  50. data/lib/countries/cache/locales/kk.json +1 -0
  51. data/lib/countries/cache/locales/km.json +1 -0
  52. data/lib/countries/cache/locales/kn.json +1 -0
  53. data/lib/countries/cache/locales/ko.json +1 -0
  54. data/lib/countries/cache/locales/ku.json +1 -0
  55. data/lib/countries/cache/locales/lt.json +1 -0
  56. data/lib/countries/cache/locales/lv.json +1 -0
  57. data/lib/countries/cache/locales/mi.json +1 -0
  58. data/lib/countries/cache/locales/mk.json +1 -0
  59. data/lib/countries/cache/locales/ml.json +1 -0
  60. data/lib/countries/cache/locales/mn.json +1 -0
  61. data/lib/countries/cache/locales/mr.json +1 -0
  62. data/lib/countries/cache/locales/ms.json +1 -0
  63. data/lib/countries/cache/locales/mt.json +1 -0
  64. data/lib/countries/cache/locales/nb.json +1 -0
  65. data/lib/countries/cache/locales/ne.json +1 -0
  66. data/lib/countries/cache/locales/nl.json +1 -0
  67. data/lib/countries/cache/locales/nn.json +1 -0
  68. data/lib/countries/cache/locales/oc.json +1 -0
  69. data/lib/countries/cache/locales/or.json +1 -0
  70. data/lib/countries/cache/locales/pa.json +1 -0
  71. data/lib/countries/cache/locales/pl.json +1 -0
  72. data/lib/countries/cache/locales/ps.json +1 -0
  73. data/lib/countries/cache/locales/pt.json +1 -0
  74. data/lib/countries/cache/locales/ro.json +1 -0
  75. data/lib/countries/cache/locales/ru.json +1 -0
  76. data/lib/countries/cache/locales/rw.json +1 -0
  77. data/lib/countries/cache/locales/si.json +1 -0
  78. data/lib/countries/cache/locales/sk.json +1 -0
  79. data/lib/countries/cache/locales/sl.json +1 -0
  80. data/lib/countries/cache/locales/so.json +1 -0
  81. data/lib/countries/cache/locales/sq.json +1 -0
  82. data/lib/countries/cache/locales/sr.json +1 -0
  83. data/lib/countries/cache/locales/sv.json +1 -0
  84. data/lib/countries/cache/locales/sw.json +1 -0
  85. data/lib/countries/cache/locales/ta.json +1 -0
  86. data/lib/countries/cache/locales/te.json +1 -0
  87. data/lib/countries/cache/locales/th.json +1 -0
  88. data/lib/countries/cache/locales/ti.json +1 -0
  89. data/lib/countries/cache/locales/tk.json +1 -0
  90. data/lib/countries/cache/locales/tl.json +1 -0
  91. data/lib/countries/cache/locales/tr.json +1 -0
  92. data/lib/countries/cache/locales/tt.json +1 -0
  93. data/lib/countries/cache/locales/ug.json +1 -0
  94. data/lib/countries/cache/locales/uk.json +1 -0
  95. data/lib/countries/cache/locales/ve.json +1 -0
  96. data/lib/countries/cache/locales/vi.json +1 -0
  97. data/lib/countries/cache/locales/wa.json +1 -0
  98. data/lib/countries/cache/locales/wo.json +1 -0
  99. data/lib/countries/cache/locales/xh.json +1 -0
  100. data/lib/countries/cache/locales/zh.json +1 -0
  101. data/lib/countries/cache/locales/zu.json +1 -0
  102. data/lib/countries/configuration.rb +3 -1
  103. data/lib/countries/country.rb +47 -98
  104. data/lib/countries/country/class_methods.rb +100 -0
  105. data/lib/countries/data.rb +55 -19
  106. data/lib/countries/data/countries/AD.yaml +18 -15
  107. data/lib/countries/data/countries/AE.yaml +22 -19
  108. data/lib/countries/data/countries/AF.yaml +21 -16
  109. data/lib/countries/data/countries/AG.yaml +21 -18
  110. data/lib/countries/data/countries/AI.yaml +17 -14
  111. data/lib/countries/data/countries/AL.yaml +20 -17
  112. data/lib/countries/data/countries/AM.yaml +22 -18
  113. data/lib/countries/data/countries/AN.yaml +23 -19
  114. data/lib/countries/data/countries/AO.yaml +17 -14
  115. data/lib/countries/data/countries/AQ.yaml +19 -17
  116. data/lib/countries/data/countries/AR.yaml +22 -18
  117. data/lib/countries/data/countries/AS.yaml +23 -19
  118. data/lib/countries/data/countries/AT.yaml +20 -17
  119. data/lib/countries/data/countries/AU.yaml +20 -17
  120. data/lib/countries/data/countries/AW.yaml +17 -14
  121. data/lib/countries/data/countries/AX.yaml +22 -19
  122. data/lib/countries/data/countries/AZ.yaml +23 -19
  123. data/lib/countries/data/countries/BA.yaml +25 -20
  124. data/lib/countries/data/countries/BB.yaml +18 -15
  125. data/lib/countries/data/countries/BD.yaml +18 -15
  126. data/lib/countries/data/countries/BE.yaml +25 -20
  127. data/lib/countries/data/countries/BF.yaml +19 -15
  128. data/lib/countries/data/countries/BG.yaml +20 -17
  129. data/lib/countries/data/countries/BH.yaml +20 -17
  130. data/lib/countries/data/countries/BI.yaml +19 -15
  131. data/lib/countries/data/countries/BJ.yaml +18 -15
  132. data/lib/countries/data/countries/BL.yaml +18 -15
  133. data/lib/countries/data/countries/BM.yaml +19 -16
  134. data/lib/countries/data/countries/BN.yaml +17 -14
  135. data/lib/countries/data/countries/BO.yaml +22 -17
  136. data/lib/countries/data/countries/BQ.yaml +21 -17
  137. data/lib/countries/data/countries/BR.yaml +21 -18
  138. data/lib/countries/data/countries/BS.yaml +18 -15
  139. data/lib/countries/data/countries/BT.yaml +19 -16
  140. data/lib/countries/data/countries/BV.yaml +17 -15
  141. data/lib/countries/data/countries/BW.yaml +19 -15
  142. data/lib/countries/data/countries/BY.yaml +24 -20
  143. data/lib/countries/data/countries/BZ.yaml +20 -16
  144. data/lib/countries/data/countries/CA.yaml +21 -17
  145. data/lib/countries/data/countries/CC.yaml +19 -16
  146. data/lib/countries/data/countries/CD.yaml +26 -19
  147. data/lib/countries/data/countries/CF.yaml +23 -19
  148. data/lib/countries/data/countries/CG.yaml +22 -18
  149. data/lib/countries/data/countries/CH.yaml +24 -19
  150. data/lib/countries/data/countries/CI.yaml +22 -19
  151. data/lib/countries/data/countries/CK.yaml +21 -18
  152. data/lib/countries/data/countries/CL.yaml +18 -15
  153. data/lib/countries/data/countries/CM.yaml +23 -19
  154. data/lib/countries/data/countries/CN.yaml +18 -15
  155. data/lib/countries/data/countries/CO.yaml +19 -16
  156. data/lib/countries/data/countries/CR.yaml +17 -14
  157. data/lib/countries/data/countries/CU.yaml +18 -15
  158. data/lib/countries/data/countries/CV.yaml +21 -18
  159. data/lib/countries/data/countries/CW.yaml +17 -14
  160. data/lib/countries/data/countries/CX.yaml +22 -17
  161. data/lib/countries/data/countries/CY.yaml +24 -19
  162. data/lib/countries/data/countries/CZ.yaml +23 -19
  163. data/lib/countries/data/countries/DE.yaml +21 -18
  164. data/lib/countries/data/countries/DJ.yaml +21 -17
  165. data/lib/countries/data/countries/DK.yaml +21 -18
  166. data/lib/countries/data/countries/DM.yaml +17 -14
  167. data/lib/countries/data/countries/DO.yaml +21 -18
  168. data/lib/countries/data/countries/DZ.yaml +22 -19
  169. data/lib/countries/data/countries/EC.yaml +18 -15
  170. data/lib/countries/data/countries/EE.yaml +19 -16
  171. data/lib/countries/data/countries/EG.yaml +22 -19
  172. data/lib/countries/data/countries/EH.yaml +23 -19
  173. data/lib/countries/data/countries/ER.yaml +22 -17
  174. data/lib/countries/data/countries/ES.yaml +21 -18
  175. data/lib/countries/data/countries/ET.yaml +21 -18
  176. data/lib/countries/data/countries/FI.yaml +22 -18
  177. data/lib/countries/data/countries/FJ.yaml +23 -17
  178. data/lib/countries/data/countries/FK.yaml +21 -18
  179. data/lib/countries/data/countries/FM.yaml +20 -17
  180. data/lib/countries/data/countries/FO.yaml +21 -18
  181. data/lib/countries/data/countries/FR.yaml +21 -18
  182. data/lib/countries/data/countries/GA.yaml +19 -16
  183. data/lib/countries/data/countries/GB.yaml +22 -19
  184. data/lib/countries/data/countries/GD.yaml +17 -14
  185. data/lib/countries/data/countries/GE.yaml +20 -17
  186. data/lib/countries/data/countries/GF.yaml +20 -17
  187. data/lib/countries/data/countries/GG.yaml +23 -19
  188. data/lib/countries/data/countries/GH.yaml +17 -14
  189. data/lib/countries/data/countries/GI.yaml +17 -14
  190. data/lib/countries/data/countries/GL.yaml +20 -17
  191. data/lib/countries/data/countries/GM.yaml +17 -14
  192. data/lib/countries/data/countries/GN.yaml +21 -17
  193. data/lib/countries/data/countries/GP.yaml +18 -15
  194. data/lib/countries/data/countries/GQ.yaml +23 -19
  195. data/lib/countries/data/countries/GR.yaml +21 -18
  196. data/lib/countries/data/countries/GS.yaml +20 -17
  197. data/lib/countries/data/countries/GT.yaml +17 -14
  198. data/lib/countries/data/countries/GU.yaml +20 -15
  199. data/lib/countries/data/countries/GW.yaml +20 -17
  200. data/lib/countries/data/countries/GY.yaml +17 -14
  201. data/lib/countries/data/countries/HK.yaml +20 -16
  202. data/lib/countries/data/countries/HM.yaml +20 -17
  203. data/lib/countries/data/countries/HN.yaml +17 -14
  204. data/lib/countries/data/countries/HR.yaml +22 -19
  205. data/lib/countries/data/countries/HT.yaml +20 -16
  206. data/lib/countries/data/countries/HU.yaml +21 -18
  207. data/lib/countries/data/countries/ID.yaml +20 -17
  208. data/lib/countries/data/countries/IE.yaml +23 -19
  209. data/lib/countries/data/countries/IL.yaml +20 -16
  210. data/lib/countries/data/countries/IM.yaml +22 -18
  211. data/lib/countries/data/countries/IN.yaml +21 -17
  212. data/lib/countries/data/countries/IO.yaml +19 -16
  213. data/lib/countries/data/countries/IQ.yaml +19 -16
  214. data/lib/countries/data/countries/IR.yaml +20 -17
  215. data/lib/countries/data/countries/IS.yaml +21 -18
  216. data/lib/countries/data/countries/IT.yaml +21 -18
  217. data/lib/countries/data/countries/JE.yaml +19 -15
  218. data/lib/countries/data/countries/JM.yaml +19 -16
  219. data/lib/countries/data/countries/JO.yaml +22 -19
  220. data/lib/countries/data/countries/JP.yaml +19 -16
  221. data/lib/countries/data/countries/KE.yaml +20 -16
  222. data/lib/countries/data/countries/KG.yaml +24 -20
  223. data/lib/countries/data/countries/KH.yaml +21 -18
  224. data/lib/countries/data/countries/KI.yaml +17 -14
  225. data/lib/countries/data/countries/KM.yaml +22 -18
  226. data/lib/countries/data/countries/KN.yaml +23 -20
  227. data/lib/countries/data/countries/KP.yaml +23 -20
  228. data/lib/countries/data/countries/KR.yaml +23 -20
  229. data/lib/countries/data/countries/KW.yaml +20 -17
  230. data/lib/countries/data/countries/KY.yaml +21 -18
  231. data/lib/countries/data/countries/KZ.yaml +22 -18
  232. data/lib/countries/data/countries/LA.yaml +18 -15
  233. data/lib/countries/data/countries/LB.yaml +23 -19
  234. data/lib/countries/data/countries/LC.yaml +21 -18
  235. data/lib/countries/data/countries/LI.yaml +17 -14
  236. data/lib/countries/data/countries/LK.yaml +19 -15
  237. data/lib/countries/data/countries/LR.yaml +17 -14
  238. data/lib/countries/data/countries/LS.yaml +19 -15
  239. data/lib/countries/data/countries/LT.yaml +22 -19
  240. data/lib/countries/data/countries/LU.yaml +23 -18
  241. data/lib/countries/data/countries/LV.yaml +21 -18
  242. data/lib/countries/data/countries/LY.yaml +23 -20
  243. data/lib/countries/data/countries/MA.yaml +21 -18
  244. data/lib/countries/data/countries/MC.yaml +18 -15
  245. data/lib/countries/data/countries/MD.yaml +22 -19
  246. data/lib/countries/data/countries/ME.yaml +22 -16
  247. data/lib/countries/data/countries/MF.yaml +21 -16
  248. data/lib/countries/data/countries/MG.yaml +21 -17
  249. data/lib/countries/data/countries/MH.yaml +23 -19
  250. data/lib/countries/data/countries/MK.yaml +22 -19
  251. data/lib/countries/data/countries/ML.yaml +17 -14
  252. data/lib/countries/data/countries/MM.yaml +17 -14
  253. data/lib/countries/data/countries/MN.yaml +20 -17
  254. data/lib/countries/data/countries/MO.yaml +21 -17
  255. data/lib/countries/data/countries/MP.yaml +23 -19
  256. data/lib/countries/data/countries/MQ.yaml +18 -15
  257. data/lib/countries/data/countries/MR.yaml +23 -19
  258. data/lib/countries/data/countries/MS.yaml +17 -14
  259. data/lib/countries/data/countries/MT.yaml +20 -16
  260. data/lib/countries/data/countries/MU.yaml +19 -16
  261. data/lib/countries/data/countries/MV.yaml +20 -17
  262. data/lib/countries/data/countries/MW.yaml +19 -15
  263. data/lib/countries/data/countries/MX.yaml +20 -17
  264. data/lib/countries/data/countries/MY.yaml +22 -18
  265. data/lib/countries/data/countries/MZ.yaml +18 -15
  266. data/lib/countries/data/countries/NA.yaml +21 -17
  267. data/lib/countries/data/countries/NC.yaml +21 -18
  268. data/lib/countries/data/countries/NE.yaml +18 -15
  269. data/lib/countries/data/countries/NF.yaml +21 -18
  270. data/lib/countries/data/countries/NG.yaml +19 -16
  271. data/lib/countries/data/countries/NI.yaml +17 -14
  272. data/lib/countries/data/countries/NL.yaml +21 -18
  273. data/lib/countries/data/countries/NO.yaml +24 -20
  274. data/lib/countries/data/countries/NP.yaml +19 -16
  275. data/lib/countries/data/countries/NR.yaml +19 -15
  276. data/lib/countries/data/countries/NU.yaml +18 -15
  277. data/lib/countries/data/countries/NZ.yaml +21 -18
  278. data/lib/countries/data/countries/OM.yaml +19 -16
  279. data/lib/countries/data/countries/PA.yaml +18 -15
  280. data/lib/countries/data/countries/PE.yaml +19 -16
  281. data/lib/countries/data/countries/PF.yaml +21 -18
  282. data/lib/countries/data/countries/PG.yaml +21 -18
  283. data/lib/countries/data/countries/PH.yaml +22 -18
  284. data/lib/countries/data/countries/PK.yaml +20 -16
  285. data/lib/countries/data/countries/PL.yaml +20 -17
  286. data/lib/countries/data/countries/PM.yaml +21 -18
  287. data/lib/countries/data/countries/PN.yaml +18 -15
  288. data/lib/countries/data/countries/PR.yaml +19 -15
  289. data/lib/countries/data/countries/PS.yaml +28 -23
  290. data/lib/countries/data/countries/PT.yaml +17 -14
  291. data/lib/countries/data/countries/PW.yaml +17 -14
  292. data/lib/countries/data/countries/PY.yaml +19 -15
  293. data/lib/countries/data/countries/QA.yaml +19 -16
  294. data/lib/countries/data/countries/RE.yaml +19 -16
  295. data/lib/countries/data/countries/RO.yaml +21 -18
  296. data/lib/countries/data/countries/RS.yaml +20 -17
  297. data/lib/countries/data/countries/RU.yaml +23 -20
  298. data/lib/countries/data/countries/RW.yaml +21 -16
  299. data/lib/countries/data/countries/SA.yaml +22 -19
  300. data/lib/countries/data/countries/SB.yaml +21 -18
  301. data/lib/countries/data/countries/SC.yaml +20 -16
  302. data/lib/countries/data/countries/SD.yaml +23 -19
  303. data/lib/countries/data/countries/SE.yaml +21 -18
  304. data/lib/countries/data/countries/SG.yaml +22 -17
  305. data/lib/countries/data/countries/SH.yaml +21 -18
  306. data/lib/countries/data/countries/SI.yaml +21 -18
  307. data/lib/countries/data/countries/SJ.yaml +21 -18
  308. data/lib/countries/data/countries/SK.yaml +21 -18
  309. data/lib/countries/data/countries/SL.yaml +17 -14
  310. data/lib/countries/data/countries/SM.yaml +18 -15
  311. data/lib/countries/data/countries/SN.yaml +18 -15
  312. data/lib/countries/data/countries/SO.yaml +21 -17
  313. data/lib/countries/data/countries/SR.yaml +18 -15
  314. data/lib/countries/data/countries/SS.yaml +21 -17
  315. data/lib/countries/data/countries/ST.yaml +21 -18
  316. data/lib/countries/data/countries/SV.yaml +18 -15
  317. data/lib/countries/data/countries/SX.yaml +19 -15
  318. data/lib/countries/data/countries/SY.yaml +23 -20
  319. data/lib/countries/data/countries/SZ.yaml +21 -17
  320. data/lib/countries/data/countries/TC.yaml +23 -20
  321. data/lib/countries/data/countries/TD.yaml +23 -19
  322. data/lib/countries/data/countries/TF.yaml +21 -18
  323. data/lib/countries/data/countries/TG.yaml +17 -14
  324. data/lib/countries/data/countries/TH.yaml +19 -16
  325. data/lib/countries/data/countries/TJ.yaml +23 -19
  326. data/lib/countries/data/countries/TK.yaml +19 -16
  327. data/lib/countries/data/countries/TL.yaml +21 -18
  328. data/lib/countries/data/countries/TM.yaml +21 -17
  329. data/lib/countries/data/countries/TN.yaml +24 -20
  330. data/lib/countries/data/countries/TO.yaml +19 -15
  331. data/lib/countries/data/countries/TR.yaml +21 -18
  332. data/lib/countries/data/countries/TT.yaml +21 -18
  333. data/lib/countries/data/countries/TV.yaml +17 -14
  334. data/lib/countries/data/countries/TW.yaml +18 -15
  335. data/lib/countries/data/countries/TZ.yaml +22 -18
  336. data/lib/countries/data/countries/UA.yaml +22 -19
  337. data/lib/countries/data/countries/UG.yaml +20 -16
  338. data/lib/countries/data/countries/UM.yaml +21 -18
  339. data/lib/countries/data/countries/US.yaml +21 -18
  340. data/lib/countries/data/countries/UY.yaml +17 -14
  341. data/lib/countries/data/countries/UZ.yaml +23 -19
  342. data/lib/countries/data/countries/VA.yaml +24 -20
  343. data/lib/countries/data/countries/VC.yaml +23 -20
  344. data/lib/countries/data/countries/VE.yaml +17 -14
  345. data/lib/countries/data/countries/VG.yaml +22 -19
  346. data/lib/countries/data/countries/VI.yaml +22 -19
  347. data/lib/countries/data/countries/VN.yaml +18 -15
  348. data/lib/countries/data/countries/VU.yaml +20 -15
  349. data/lib/countries/data/countries/WF.yaml +21 -18
  350. data/lib/countries/data/countries/WS.yaml +19 -15
  351. data/lib/countries/data/countries/YE.yaml +20 -17
  352. data/lib/countries/data/countries/YT.yaml +17 -14
  353. data/lib/countries/data/countries/ZA.yaml +31 -19
  354. data/lib/countries/data/countries/ZM.yaml +19 -16
  355. data/lib/countries/data/countries/ZW.yaml +22 -17
  356. data/lib/countries/data/subdivisions/AD.yaml +14 -7
  357. data/lib/countries/data/subdivisions/AE.yaml +20 -13
  358. data/lib/countries/data/subdivisions/AF.yaml +72 -34
  359. data/lib/countries/data/subdivisions/AG.yaml +16 -8
  360. data/lib/countries/data/subdivisions/AL.yaml +72 -36
  361. data/lib/countries/data/subdivisions/AM.yaml +115 -70
  362. data/lib/countries/data/subdivisions/AO.yaml +185 -131
  363. data/lib/countries/data/subdivisions/AR.yaml +241 -169
  364. data/lib/countries/data/subdivisions/AT.yaml +97 -70
  365. data/lib/countries/data/subdivisions/AU.yaml +80 -56
  366. data/lib/countries/data/subdivisions/AZ.yaml +771 -536
  367. data/lib/countries/data/subdivisions/BA.yaml +20 -14
  368. data/lib/countries/data/subdivisions/BB.yaml +110 -77
  369. data/lib/countries/data/subdivisions/BD.yaml +699 -457
  370. data/lib/countries/data/subdivisions/BE.yaml +121 -88
  371. data/lib/countries/data/subdivisions/BF.yaml +453 -314
  372. data/lib/countries/data/subdivisions/BG.yaml +281 -197
  373. data/lib/countries/data/subdivisions/BH.yaml +54 -35
  374. data/lib/countries/data/subdivisions/BI.yaml +164 -116
  375. data/lib/countries/data/subdivisions/BJ.yaml +122 -86
  376. data/lib/countries/data/subdivisions/BN.yaml +40 -24
  377. data/lib/countries/data/subdivisions/BO.yaml +90 -63
  378. data/lib/countries/data/subdivisions/BQ.yaml +30 -21
  379. data/lib/countries/data/subdivisions/BR.yaml +270 -185
  380. data/lib/countries/data/subdivisions/BS.yaml +211 -144
  381. data/lib/countries/data/subdivisions/BT.yaml +218 -158
  382. data/lib/countries/data/subdivisions/BW.yaml +91 -64
  383. data/lib/countries/data/subdivisions/BY.yaml +77 -38
  384. data/lib/countries/data/subdivisions/BZ.yaml +60 -42
  385. data/lib/countries/data/subdivisions/CA.yaml +143 -104
  386. data/lib/countries/data/subdivisions/CD.yaml +114 -81
  387. data/lib/countries/data/subdivisions/CF.yaml +177 -126
  388. data/lib/countries/data/subdivisions/CG.yaml +112 -79
  389. data/lib/countries/data/subdivisions/CH.yaml +282 -204
  390. data/lib/countries/data/subdivisions/CI.yaml +190 -123
  391. data/lib/countries/data/subdivisions/CL.yaml +156 -111
  392. data/lib/countries/data/subdivisions/CM.yaml +102 -72
  393. data/lib/countries/data/subdivisions/CN.yaml +348 -240
  394. data/lib/countries/data/subdivisions/CO.yaml +331 -228
  395. data/lib/countries/data/subdivisions/CR.yaml +70 -49
  396. data/lib/countries/data/subdivisions/CU.yaml +170 -115
  397. data/lib/countries/data/subdivisions/CV.yaml +171 -120
  398. data/lib/countries/data/subdivisions/CY.yaml +60 -42
  399. data/lib/countries/data/subdivisions/CZ.yaml +148 -106
  400. data/lib/countries/data/subdivisions/DE.yaml +172 -124
  401. data/lib/countries/data/subdivisions/DJ.yaml +65 -47
  402. data/lib/countries/data/subdivisions/DK.yaml +216 -145
  403. data/lib/countries/data/subdivisions/DM.yaml +100 -70
  404. data/lib/countries/data/subdivisions/DO.yaml +311 -218
  405. data/lib/countries/data/subdivisions/DZ.yaml +528 -380
  406. data/lib/countries/data/subdivisions/EC.yaml +240 -164
  407. data/lib/countries/data/subdivisions/EE.yaml +156 -111
  408. data/lib/countries/data/subdivisions/EG.yaml +298 -217
  409. data/lib/countries/data/subdivisions/EH.yaml +44 -32
  410. data/lib/countries/data/subdivisions/ER.yaml +60 -42
  411. data/lib/countries/data/subdivisions/ES.yaml +564 -383
  412. data/lib/countries/data/subdivisions/ET.yaml +112 -79
  413. data/lib/countries/data/subdivisions/FI.yaml +64 -24
  414. data/lib/countries/data/subdivisions/FJ.yaml +50 -35
  415. data/lib/countries/data/subdivisions/FM.yaml +43 -27
  416. data/lib/countries/data/subdivisions/FR.yaml +1021 -677
  417. data/lib/countries/data/subdivisions/GA.yaml +92 -65
  418. data/lib/countries/data/subdivisions/GB.yaml +2329 -1545
  419. data/lib/countries/data/subdivisions/GD.yaml +70 -49
  420. data/lib/countries/data/subdivisions/GE.yaml +128 -92
  421. data/lib/countries/data/subdivisions/GH.yaml +101 -71
  422. data/lib/countries/data/subdivisions/GM.yaml +64 -46
  423. data/lib/countries/data/subdivisions/GN.yaml +341 -235
  424. data/lib/countries/data/subdivisions/GQ.yaml +90 -59
  425. data/lib/countries/data/subdivisions/GR.yaml +555 -395
  426. data/lib/countries/data/subdivisions/GT.yaml +221 -151
  427. data/lib/countries/data/subdivisions/GW.yaml +91 -60
  428. data/lib/countries/data/subdivisions/GY.yaml +100 -70
  429. data/lib/countries/data/subdivisions/HN.yaml +180 -126
  430. data/lib/countries/data/subdivisions/HR.yaml +232 -169
  431. data/lib/countries/data/subdivisions/HT.yaml +92 -65
  432. data/lib/countries/data/subdivisions/HU.yaml +431 -302
  433. data/lib/countries/data/subdivisions/ID.yaml +333 -234
  434. data/lib/countries/data/subdivisions/IE.yaml +286 -200
  435. data/lib/countries/data/subdivisions/IL.yaml +65 -47
  436. data/lib/countries/data/subdivisions/IN.yaml +365 -257
  437. data/lib/countries/data/subdivisions/IQ.yaml +197 -143
  438. data/lib/countries/data/subdivisions/IR.yaml +326 -229
  439. data/lib/countries/data/subdivisions/IS.yaml +90 -59
  440. data/lib/countries/data/subdivisions/IT.yaml +1100 -770
  441. data/lib/countries/data/subdivisions/JM.yaml +140 -98
  442. data/lib/countries/data/subdivisions/JO.yaml +131 -59
  443. data/lib/countries/data/subdivisions/JP.yaml +493 -348
  444. data/lib/countries/data/subdivisions/KE.yaml +80 -40
  445. data/lib/countries/data/subdivisions/KG.yaml +86 -62
  446. data/lib/countries/data/subdivisions/KH.yaml +264 -170
  447. data/lib/countries/data/subdivisions/KI.yaml +31 -18
  448. data/lib/countries/data/subdivisions/KM.yaml +33 -24
  449. data/lib/countries/data/subdivisions/KN.yaml +140 -98
  450. data/lib/countries/data/subdivisions/KP.yaml +150 -90
  451. data/lib/countries/data/subdivisions/KR.yaml +174 -102
  452. data/lib/countries/data/subdivisions/KW.yaml +65 -47
  453. data/lib/countries/data/subdivisions/KZ.yaml +186 -135
  454. data/lib/countries/data/subdivisions/Ky.yaml +60 -42
  455. data/lib/countries/data/subdivisions/LA.yaml +195 -135
  456. data/lib/countries/data/subdivisions/LB.yaml +66 -28
  457. data/lib/countries/data/subdivisions/LI.yaml +111 -38
  458. data/lib/countries/data/subdivisions/LK.yaml +266 -191
  459. data/lib/countries/data/subdivisions/LR.yaml +151 -106
  460. data/lib/countries/data/subdivisions/LS.yaml +100 -70
  461. data/lib/countries/data/subdivisions/LT.yaml +106 -76
  462. data/lib/countries/data/subdivisions/LU.yaml +31 -18
  463. data/lib/countries/data/subdivisions/LV.yaml +331 -126
  464. data/lib/countries/data/subdivisions/LY.yaml +342 -226
  465. data/lib/countries/data/subdivisions/MA.yaml +630 -437
  466. data/lib/countries/data/subdivisions/MD.yaml +130 -71
  467. data/lib/countries/data/subdivisions/ME.yaml +212 -149
  468. data/lib/countries/data/subdivisions/MG.yaml +66 -48
  469. data/lib/countries/data/subdivisions/MH.yaml +263 -164
  470. data/lib/countries/data/subdivisions/MK.yaml +854 -599
  471. data/lib/countries/data/subdivisions/ML.yaml +90 -63
  472. data/lib/countries/data/subdivisions/MM.yaml +147 -105
  473. data/lib/countries/data/subdivisions/MN.yaml +235 -169
  474. data/lib/countries/data/subdivisions/MR.yaml +141 -102
  475. data/lib/countries/data/subdivisions/MT.yaml +694 -482
  476. data/lib/countries/data/subdivisions/MU.yaml +170 -115
  477. data/lib/countries/data/subdivisions/MV.yaml +231 -168
  478. data/lib/countries/data/subdivisions/MW.yaml +270 -189
  479. data/lib/countries/data/subdivisions/MX.yaml +320 -220
  480. data/lib/countries/data/subdivisions/MY.yaml +161 -113
  481. data/lib/countries/data/subdivisions/MZ.yaml +110 -77
  482. data/lib/countries/data/subdivisions/NA.yaml +141 -99
  483. data/lib/countries/data/subdivisions/NE.yaml +81 -57
  484. data/lib/countries/data/subdivisions/NG.yaml +373 -262
  485. data/lib/countries/data/subdivisions/NI.yaml +172 -121
  486. data/lib/countries/data/subdivisions/NL.yaml +122 -86
  487. data/lib/countries/data/subdivisions/NO.yaml +212 -133
  488. data/lib/countries/data/subdivisions/NP.yaml +140 -90
  489. data/lib/countries/data/subdivisions/NR.yaml +141 -99
  490. data/lib/countries/data/subdivisions/NZ.yaml +171 -120
  491. data/lib/countries/data/subdivisions/OM.yaml +95 -68
  492. data/lib/countries/data/subdivisions/PA.yaml +101 -67
  493. data/lib/countries/data/subdivisions/PE.yaml +264 -182
  494. data/lib/countries/data/subdivisions/PG.yaml +215 -155
  495. data/lib/countries/data/subdivisions/PH.yaml +855 -596
  496. data/lib/countries/data/subdivisions/PK.yaml +80 -56
  497. data/lib/countries/data/subdivisions/PL.yaml +182 -134
  498. data/lib/countries/data/subdivisions/PT.yaml +201 -141
  499. data/lib/countries/data/subdivisions/PW.yaml +162 -110
  500. data/lib/countries/data/subdivisions/PY.yaml +182 -128
  501. data/lib/countries/data/subdivisions/QA.yaml +109 -73
  502. data/lib/countries/data/subdivisions/RO.yaml +443 -317
  503. data/lib/countries/data/subdivisions/RS.yaml +301 -193
  504. data/lib/countries/data/subdivisions/RU.yaml +839 -732
  505. data/lib/countries/data/subdivisions/RW.yaml +50 -35
  506. data/lib/countries/data/subdivisions/SA.yaml +141 -102
  507. data/lib/countries/data/subdivisions/SB.yaml +104 -74
  508. data/lib/countries/data/subdivisions/SC.yaml +230 -161
  509. data/lib/countries/data/subdivisions/SD.yaml +287 -183
  510. data/lib/countries/data/subdivisions/SE.yaml +215 -152
  511. data/lib/countries/data/subdivisions/SG.yaml +50 -31
  512. data/lib/countries/data/subdivisions/SH.yaml +30 -21
  513. data/lib/countries/data/subdivisions/SI.yaml +1950 -1367
  514. data/lib/countries/data/subdivisions/SK.yaml +81 -57
  515. data/lib/countries/data/subdivisions/SL.yaml +40 -28
  516. data/lib/countries/data/subdivisions/SM.yaml +92 -65
  517. data/lib/countries/data/subdivisions/SN.yaml +110 -77
  518. data/lib/countries/data/subdivisions/SO.yaml +180 -126
  519. data/lib/countries/data/subdivisions/SR.yaml +100 -70
  520. data/lib/countries/data/subdivisions/ST.yaml +20 -14
  521. data/lib/countries/data/subdivisions/SV.yaml +140 -98
  522. data/lib/countries/data/subdivisions/SY.yaml +153 -99
  523. data/lib/countries/data/subdivisions/SZ.yaml +41 -29
  524. data/lib/countries/data/subdivisions/TD.yaml +180 -126
  525. data/lib/countries/data/subdivisions/TF.yaml +40 -18
  526. data/lib/countries/data/subdivisions/TG.yaml +50 -35
  527. data/lib/countries/data/subdivisions/TH.yaml +775 -544
  528. data/lib/countries/data/subdivisions/TL.yaml +135 -96
  529. data/lib/countries/data/subdivisions/TM.yaml +64 -46
  530. data/lib/countries/data/subdivisions/TN.yaml +263 -191
  531. data/lib/countries/data/subdivisions/TO.yaml +52 -37
  532. data/lib/countries/data/subdivisions/TR.yaml +842 -599
  533. data/lib/countries/data/subdivisions/TT.yaml +160 -112
  534. data/lib/countries/data/subdivisions/TV.yaml +82 -46
  535. data/lib/countries/data/subdivisions/TW.yaml +235 -150
  536. data/lib/countries/data/subdivisions/TZ.yaml +265 -187
  537. data/lib/countries/data/subdivisions/Tj.yaml +33 -24
  538. data/lib/countries/data/subdivisions/UA.yaml +299 -218
  539. data/lib/countries/data/subdivisions/UG.yaml +800 -544
  540. data/lib/countries/data/subdivisions/UM.yaml +90 -59
  541. data/lib/countries/data/subdivisions/US.yaml +601 -391
  542. data/lib/countries/data/subdivisions/UY.yaml +161 -113
  543. data/lib/countries/data/subdivisions/UZ.yaml +154 -112
  544. data/lib/countries/data/subdivisions/VC.yaml +60 -38
  545. data/lib/countries/data/subdivisions/VE.yaml +250 -175
  546. data/lib/countries/data/subdivisions/VN.yaml +641 -449
  547. data/lib/countries/data/subdivisions/VU.yaml +66 -48
  548. data/lib/countries/data/subdivisions/WS.yaml +110 -77
  549. data/lib/countries/data/subdivisions/YE.yaml +203 -142
  550. data/lib/countries/data/subdivisions/ZA.yaml +95 -68
  551. data/lib/countries/data/subdivisions/ZM.yaml +90 -63
  552. data/lib/countries/data/subdivisions/ZW.yaml +100 -70
  553. data/lib/countries/iso3166.rb +5 -2
  554. data/lib/countries/kwarg_struct.rb +12 -0
  555. data/lib/countries/structure.rb +63 -0
  556. data/lib/countries/subdivision.rb +9 -0
  557. data/lib/countries/version.rb +1 -1
  558. data/spec/configuration_spec.rb +4 -1
  559. data/spec/country_spec.rb +42 -2
  560. data/spec/data_spec.rb +83 -0
  561. data/spec/global_spec.rb +2 -2
  562. data/spec/perf_spec.rb +54 -0
  563. data/spec/spec_helper.rb +3 -15
  564. data/spec/timezone_spec.rb +2 -2
  565. metadata +115 -109
  566. data/lib/countries/cache/countries +0 -0
  567. data/lib/countries/cache/locales/af +0 -0
  568. data/lib/countries/cache/locales/am +0 -0
  569. data/lib/countries/cache/locales/ar +0 -0
  570. data/lib/countries/cache/locales/as +0 -0
  571. data/lib/countries/cache/locales/az +0 -0
  572. data/lib/countries/cache/locales/be +0 -0
  573. data/lib/countries/cache/locales/bg +0 -0
  574. data/lib/countries/cache/locales/bn +0 -0
  575. data/lib/countries/cache/locales/br +0 -0
  576. data/lib/countries/cache/locales/bs +0 -0
  577. data/lib/countries/cache/locales/ca +0 -0
  578. data/lib/countries/cache/locales/cs +0 -0
  579. data/lib/countries/cache/locales/cy +0 -0
  580. data/lib/countries/cache/locales/da +0 -0
  581. data/lib/countries/cache/locales/de +0 -0
  582. data/lib/countries/cache/locales/dz +0 -0
  583. data/lib/countries/cache/locales/el +0 -0
  584. data/lib/countries/cache/locales/en +0 -0
  585. data/lib/countries/cache/locales/eo +0 -0
  586. data/lib/countries/cache/locales/es +0 -0
  587. data/lib/countries/cache/locales/et +0 -0
  588. data/lib/countries/cache/locales/eu +0 -0
  589. data/lib/countries/cache/locales/fa +0 -0
  590. data/lib/countries/cache/locales/fi +0 -0
  591. data/lib/countries/cache/locales/fo +0 -0
  592. data/lib/countries/cache/locales/fr +0 -0
  593. data/lib/countries/cache/locales/ga +0 -0
  594. data/lib/countries/cache/locales/gl +0 -0
  595. data/lib/countries/cache/locales/gu +0 -0
  596. data/lib/countries/cache/locales/he +0 -0
  597. data/lib/countries/cache/locales/hi +0 -0
  598. data/lib/countries/cache/locales/hr +0 -0
  599. data/lib/countries/cache/locales/hu +0 -0
  600. data/lib/countries/cache/locales/hy +0 -0
  601. data/lib/countries/cache/locales/ia +0 -0
  602. data/lib/countries/cache/locales/id +0 -0
  603. data/lib/countries/cache/locales/is +0 -0
  604. data/lib/countries/cache/locales/it +0 -0
  605. data/lib/countries/cache/locales/ja +0 -0
  606. data/lib/countries/cache/locales/ka +0 -0
  607. data/lib/countries/cache/locales/kk +0 -0
  608. data/lib/countries/cache/locales/km +0 -0
  609. data/lib/countries/cache/locales/kn +0 -0
  610. data/lib/countries/cache/locales/ko +0 -0
  611. data/lib/countries/cache/locales/ku +0 -0
  612. data/lib/countries/cache/locales/lt +0 -0
  613. data/lib/countries/cache/locales/lv +0 -0
  614. data/lib/countries/cache/locales/mi +0 -0
  615. data/lib/countries/cache/locales/mk +0 -0
  616. data/lib/countries/cache/locales/ml +0 -0
  617. data/lib/countries/cache/locales/mn +0 -0
  618. data/lib/countries/cache/locales/mr +0 -0
  619. data/lib/countries/cache/locales/ms +0 -0
  620. data/lib/countries/cache/locales/mt +0 -0
  621. data/lib/countries/cache/locales/nb +0 -0
  622. data/lib/countries/cache/locales/ne +0 -0
  623. data/lib/countries/cache/locales/nl +0 -0
  624. data/lib/countries/cache/locales/nn +0 -0
  625. data/lib/countries/cache/locales/oc +0 -0
  626. data/lib/countries/cache/locales/or +0 -0
  627. data/lib/countries/cache/locales/pa +0 -0
  628. data/lib/countries/cache/locales/pl +0 -0
  629. data/lib/countries/cache/locales/ps +0 -0
  630. data/lib/countries/cache/locales/pt +0 -0
  631. data/lib/countries/cache/locales/ro +0 -0
  632. data/lib/countries/cache/locales/ru +0 -0
  633. data/lib/countries/cache/locales/rw +0 -0
  634. data/lib/countries/cache/locales/si +0 -0
  635. data/lib/countries/cache/locales/sk +0 -0
  636. data/lib/countries/cache/locales/sl +0 -0
  637. data/lib/countries/cache/locales/so +0 -0
  638. data/lib/countries/cache/locales/sq +0 -0
  639. data/lib/countries/cache/locales/sr +0 -0
  640. data/lib/countries/cache/locales/sv +0 -0
  641. data/lib/countries/cache/locales/sw +0 -0
  642. data/lib/countries/cache/locales/ta +0 -0
  643. data/lib/countries/cache/locales/te +0 -0
  644. data/lib/countries/cache/locales/th +0 -0
  645. data/lib/countries/cache/locales/ti +0 -0
  646. data/lib/countries/cache/locales/tk +0 -0
  647. data/lib/countries/cache/locales/tl +0 -0
  648. data/lib/countries/cache/locales/tr +0 -0
  649. data/lib/countries/cache/locales/tt +0 -0
  650. data/lib/countries/cache/locales/ug +0 -0
  651. data/lib/countries/cache/locales/uk +0 -0
  652. data/lib/countries/cache/locales/ve +0 -0
  653. data/lib/countries/cache/locales/vi +0 -0
  654. data/lib/countries/cache/locales/wa +0 -0
  655. data/lib/countries/cache/locales/wo +0 -0
  656. data/lib/countries/cache/locales/xh +0 -0
  657. data/lib/countries/cache/locales/zh +0 -0
  658. data/lib/countries/cache/locales/zu +0 -0
  659. data/lib/countries/country/attr_readers.rb +0 -49
  660. data/lib/countries/data/countries.yaml +0 -251
@@ -2,8 +2,11 @@ require 'yaml'
2
2
  require 'i18n_data'
3
3
  require 'money'
4
4
 
5
+ require 'countries/kwarg_struct'
5
6
  require 'countries/configuration'
6
7
  require 'countries/data'
7
- require 'countries/country/attr_readers'
8
+ require 'countries/structure'
9
+ require 'countries/country/class_methods'
8
10
  require 'countries/country'
9
- require 'countries/timezones'
11
+ require 'countries/subdivision'
12
+ require 'countries/timezones'
@@ -0,0 +1,12 @@
1
+ module ISO3166
2
+ class KwargStruct < Struct
3
+ # Override the initialize to handle hashes of named parameters
4
+ def initialize(*args)
5
+ opts = args.last.is_a?(Hash) ? args.pop : Hash.new
6
+ super(*args)
7
+ opts.each_pair do |k, v|
8
+ self.send "#{k}=", v
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ module ISO3166
4
+ DEFAULT_COUNTRY_HASH = {
5
+ "address_format" => nil,
6
+ "alpha2" => nil,
7
+ "alpha3" => nil,
8
+ "continent" => nil,
9
+ "country_code" => nil,
10
+ "currency_code" => nil,
11
+ "gec" => nil,
12
+ "geo" => {
13
+ "latitude" => nil,
14
+ "latitude_dec" => nil,
15
+ "longitude" => nil,
16
+ "longitude_dec" => nil,
17
+ "max_latitude" => nil,
18
+ "max_longitude" => nil,
19
+ "min_latitude" => nil,
20
+ "min_longitude" => nil,
21
+ },
22
+ "international_prefix" => nil,
23
+ "ioc" => nil,
24
+ "name" => nil,
25
+ "national_destination_code_lengths" => [],
26
+ "national_number_lengths" => [],
27
+ "national_prefix" => nil,
28
+ "nationality" => nil,
29
+ "number" => nil,
30
+ "languages_official" => [],
31
+ "languages_spoken" => [],
32
+ "translations" => {},
33
+ "postal_code" => nil,
34
+ "region" => nil,
35
+ "unofficial_names" => [],
36
+ "subregion" => nil,
37
+ "un_locode" => nil,
38
+ "vat_rates" => {
39
+ "standard" => nil,
40
+ "reduced" => [ nil, nil ],
41
+ "super_reduced" => nil,
42
+ "parking" => nil
43
+ },
44
+ "world_region" => nil
45
+ }
46
+
47
+ DEFAULT_SUBDIVISION_HASH = {
48
+ 'name' => nil,
49
+ 'unofficial_names' => [],
50
+ 'translations' => {},
51
+ "geo" => {
52
+ "latitude" => nil,
53
+ "latitude_dec" => nil,
54
+ "longitude" => nil,
55
+ "longitude_dec" => nil,
56
+ "max_latitude" => nil,
57
+ "max_longitude" => nil,
58
+ "min_latitude" => nil,
59
+ "min_longitude" => nil,
60
+ }
61
+ }
62
+
63
+ end
@@ -0,0 +1,9 @@
1
+ module ISO3166
2
+ Subdivision = KwargStruct.new(
3
+ :name,
4
+ :unofficial_names,
5
+ :geo,
6
+ :translations,
7
+ :comments
8
+ )
9
+ end
@@ -1,3 +1,3 @@
1
1
  module Countries
2
- VERSION = '2.0.0.pre.2'
2
+ VERSION = '2.0.0.pre.3'
3
3
  end
@@ -8,7 +8,10 @@ describe 'ISO3166.configuration' do
8
8
 
9
9
  it 'locales can be changed' do
10
10
  ISO3166.configuration.locales = [:es]
11
- expect(ISO3166.configuration.locales).to eq [:es]
11
+ ISO3166.configuration.locales << :de
12
+ expect(ISO3166::Country.new('DE').translation(:de)).to eq 'Deutschland'
13
+ expect(ISO3166::Country.new('DE').translation(:es)).to eq 'Alemania'
14
+ expect(ISO3166::Country.new('DE').translation(:en)).to eq nil
12
15
  end
13
16
 
14
17
  it 'locales are assumed from I18n.available_locales' do
data/spec/country_spec.rb CHANGED
@@ -148,6 +148,7 @@ describe ISO3166::Country do
148
148
  end
149
149
 
150
150
  describe 'subdivisions' do
151
+ let(:virginia) { country.states['VA'] }
151
152
  it 'should return an empty hash for a country with no ISO3166-2' do
152
153
  expect(ISO3166::Country.search('VA').subdivisions.size).to eq(0)
153
154
  end
@@ -159,6 +160,18 @@ describe ISO3166::Country do
159
160
  it 'should be available through states' do
160
161
  expect(country.states.size).to eq(60)
161
162
  end
163
+
164
+ it 'should be a subdivision object' do
165
+ expect(virginia).to be_a(ISO3166::Subdivision)
166
+ end
167
+
168
+ it 'should have a name' do
169
+ expect(virginia.name).to eq("Virginia")
170
+ end
171
+
172
+ it 'should behave like a hash' do
173
+ expect(virginia["name"]).to eq("Virginia")
174
+ end
162
175
  end
163
176
 
164
177
  describe 'valid?' do
@@ -396,6 +409,33 @@ describe ISO3166::Country do
396
409
  end
397
410
  end
398
411
 
412
+ context "when search lowercase multibyte name found" do
413
+ subject { ISO3166::Country.find_country_by_name("россия") }
414
+
415
+ it "should be a country instance" do
416
+ expect(subject).to be_a(ISO3166::Country)
417
+ expect(subject.alpha2).to eq('RU')
418
+ end
419
+ end
420
+
421
+ context "when search lowercase multibyte name found" do
422
+ subject { ISO3166::Country.find_country_by_name(/россия/) }
423
+
424
+ it "should be a country instance" do
425
+ expect(subject).to be_a(ISO3166::Country)
426
+ expect(subject.alpha2).to eq('RU')
427
+ end
428
+ end
429
+
430
+ context "when accents are not used" do
431
+ subject { ISO3166::Country.find_country_by_name("emirats Arabes Unis") }
432
+
433
+ it "should be a country instance" do
434
+ expect(subject).to be_a(ISO3166::Country)
435
+ expect(subject.alpha2).to eq('AE')
436
+ end
437
+ end
438
+
399
439
  context "when search name in 'names'" do
400
440
  subject { ISO3166::Country.find_by_name('Polonia') }
401
441
  it 'should return' do
@@ -450,7 +490,7 @@ describe ISO3166::Country do
450
490
  context 'when search translation found' do
451
491
  before do
452
492
  ISO3166.configure do |config|
453
- 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]
493
+ config.locales = [:bs]
454
494
  end
455
495
  end
456
496
  let(:uk) { ISO3166::Country.find_country_by_translated_names('Velika Britanija') }
@@ -543,7 +583,7 @@ describe ISO3166::Country do
543
583
  describe 'names in Data' do
544
584
  it 'should be unique (to allow .find_by_name work properly)' do
545
585
  names = ISO3166::Data.cache.map do |_k, v|
546
- [v['name'], v['names']].flatten.uniq
586
+ [v['name'], v['unofficial_names']].flatten.uniq
547
587
  end.flatten
548
588
 
549
589
  expect(names.size).to eq(names.uniq.size)
data/spec/data_spec.rb CHANGED
@@ -25,6 +25,15 @@ describe ISO3166::Data do
25
25
  expect(data['translated_names'].size).to eq (1)
26
26
  end
27
27
 
28
+ describe "#codes" do
29
+ it 'returns an array' do
30
+ data = ISO3166::Data.codes
31
+ expect(data).to be_a Array
32
+ expect(data.size).to eq 250
33
+ end
34
+ end
35
+
36
+
28
37
  it 'locales will load prior to return results' do
29
38
  # require 'memory_profiler'
30
39
  ISO3166.configuration.locales = [:es, :de, :en]
@@ -70,4 +79,78 @@ describe ISO3166::Data do
70
79
  expect(ISO3166::Data.send(:locales_to_remove) ).to eql(['de'])
71
80
  expect(ISO3166::Country.new('DE').translation('de')).to eq nil
72
81
  end
82
+
83
+ describe 'hotloading existing data' do
84
+ before do
85
+ ISO3166::Data.register(
86
+ alpha2: "TW",
87
+ name: 'NEW Taiwan',
88
+ translations: {
89
+ 'en' => "NEW Taiwan",
90
+ 'de' => "NEW Taiwan"
91
+ }
92
+ )
93
+ end
94
+
95
+ subject {ISO3166::Country.new('TW')}
96
+
97
+ it 'can be done' do
98
+ data = ISO3166::Data.new('TW').call
99
+ ISO3166.configuration.locales = [:es, :de, :de]
100
+ expect(data['name']).to eq 'NEW Taiwan'
101
+ expect(subject.name).to eq 'NEW Taiwan'
102
+ expect(subject.translations).to eq({
103
+ 'en' => "NEW Taiwan",
104
+ 'de' => "NEW Taiwan"})
105
+ end
106
+ end
107
+
108
+ describe 'hotloading data' do
109
+ before do
110
+ ISO3166::Data.register(
111
+ alpha2: "LOL",
112
+ name: 'Happy Country',
113
+ translations: {
114
+ 'en' => "Happy Country",
115
+ 'de' => "glückliches Land"
116
+ }
117
+ )
118
+ end
119
+
120
+ subject {ISO3166::Country.new('LOL')}
121
+
122
+ it 'can be done' do
123
+ data = ISO3166::Data.new('LOL').call
124
+ expect(data['name']).to eq 'Happy Country'
125
+ expect(subject.name).to eq 'Happy Country'
126
+ end
127
+
128
+ it 'detect a stale cache' do
129
+ ISO3166::Data.register(alpha2: "SAD", name: 'Sad Country')
130
+ data = ISO3166::Data.new('SAD').call
131
+ expect(data['name']).to eq 'Sad Country'
132
+ expect(ISO3166::Country.new('SAD').name).to eq 'Sad Country'
133
+ ISO3166::Data.unregister('SAD')
134
+ end
135
+
136
+ it 'will not override custom translations' do
137
+ data = ISO3166::Data.new('LOL').call
138
+ expect(data['translations']).to eq({
139
+ 'en' => "Happy Country",
140
+ 'de' => "glückliches Land"})
141
+ expect(subject.translations).to eq({
142
+ 'en' => "Happy Country",
143
+ 'de' => "glückliches Land"})
144
+ end
145
+
146
+ it 'can be undone' do
147
+ ISO3166::Data.unregister('lol')
148
+ data = ISO3166::Data.new('LOL').call
149
+ expect(data).to eq nil
150
+ end
151
+
152
+ after do
153
+ ISO3166::Data.unregister('lol')
154
+ end
155
+ end
73
156
  end
data/spec/global_spec.rb CHANGED
@@ -1,4 +1,4 @@
1
- describe 'global Country class' do
1
+ describe 'global Country class', order: :defined do
2
2
  context "when loaded via 'iso3166' existance" do
3
3
  subject { defined?(Country) }
4
4
 
@@ -26,4 +26,4 @@
26
26
  end
27
27
  end
28
28
  end
29
- end
29
+ end
data/spec/perf_spec.rb ADDED
@@ -0,0 +1,54 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe ISO3166::Data, perf: true, order: :defined do
5
+ ALL_LOCALES = [
6
+ :af, :am, :ar, :as, :az, :be, :bg, :bn, :br, :bs, :ca, :cs, :cy, :da, :de,
7
+ :dz, :el, :en, :eo, :es, :et, :eu, :fa, :fi, :fo, :fr, :ga, :gl, :gu, :he,
8
+ :hi, :hr, :hu, :hy, :ia, :id, :is, :it, :ja, :ka, :kk, :km, :kn, :ko, :ku,
9
+ :lt, :lv, :mi, :mk, :ml, :mn, :mr, :ms, :mt, :nb, :ne, :nl, :nn, :oc, :or,
10
+ :pa, :pl, :ps, :pt, :ro, :ru, :rw, :si, :sk, :sl, :so, :sq, :sr, :sv, :sw,
11
+ :ta, :te, :th, :ti, :tk, :tl, :tr, :tt, :ug, :uk, :ve, :vi, :wa, :wo, :xh,
12
+ :zh, :zu].freeze
13
+
14
+ it 'responds to call' do
15
+ require 'benchmark'
16
+ require 'memory_profiler'
17
+ require 'ruby-prof'
18
+ # profile the code
19
+ RubyProf.start
20
+
21
+ 100.times do
22
+ ISO3166.reset
23
+ data = ISO3166::Data.new('US').call
24
+ expect(data['translated_names']).to be_a Array
25
+ end
26
+
27
+ result = RubyProf.stop
28
+
29
+ # print a flat profile to text
30
+ printer = RubyProf::FlatPrinter.new(result)
31
+ printer.print(STDOUT)
32
+ end
33
+
34
+ it 'locales will load prior to return results' do
35
+ ISO3166.configuration.locales = [:es, :de, :en]
36
+ report = MemoryProfiler.report do
37
+ ISO3166::Data.update_cache
38
+ end
39
+
40
+ report.pretty_print(to_file: 'tmp/memory/3_locales')
41
+ puts Benchmark.measure { ISO3166::Data.update_cache }
42
+
43
+ ISO3166.configure do |config|
44
+ config.locales = ALL_LOCALES
45
+ end
46
+ puts Benchmark.measure { ISO3166::Data.update_cache }
47
+
48
+ report = MemoryProfiler.report do
49
+ ISO3166::Data.update_cache
50
+ end
51
+
52
+ report.pretty_print(to_file: 'tmp/memory/all_locales')
53
+ end
54
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,25 +1,13 @@
1
1
  require 'countries'
2
2
  RSpec.configure do |config|
3
-
4
- # config.after(:each) do
5
- # ISO3166.reset
6
- # end
7
-
8
3
  config.filter_run :focus
9
4
  config.run_all_when_everything_filtered = true
10
-
11
- config.example_status_persistence_file_path = "spec/examples.txt"
5
+ config.filter_run_excluding perf: true
6
+ config.example_status_persistence_file_path = 'spec/examples.txt'
12
7
 
13
8
  config.warnings = true
14
9
 
15
- # if config.files_to_run.one?
16
- # config.default_formatter = 'doc'
17
- # end
18
-
19
- # config.profile_examples = 10
20
-
10
+ config.default_formatter = 'doc' if config.files_to_run.one?
21
11
  # config.order = :random
22
-
23
12
  # Kernel.srand config.seed
24
-
25
13
  end
@@ -8,7 +8,7 @@ describe 'timezone Country class' do
8
8
  end
9
9
 
10
10
  describe 'GB' do
11
- subject { Country.new('GB') }
11
+ subject { ISO3166::Country.new('GB') }
12
12
  it 'should return the tzinfo country object' do
13
13
  expect(subject.timezones).to be_a(TZInfo::Country)
14
14
  end
@@ -23,7 +23,7 @@ describe 'timezone Country class' do
23
23
  end
24
24
 
25
25
  describe 'US' do
26
- subject { Country.new('US') }
26
+ subject { ISO3166::Country.new('US') }
27
27
  it 'should return the tzinfo country object' do
28
28
  expect(subject.timezones.zone_identifiers.size).to eq 29
29
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: countries
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre.2
4
+ version: 2.0.0.pre.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Robinson
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-03-04 00:00:00.000000000 Z
13
+ date: 2016-03-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: i18n_data
@@ -41,21 +41,21 @@ dependencies:
41
41
  - !ruby/object:Gem::Version
42
42
  version: '6.0'
43
43
  - !ruby/object:Gem::Dependency
44
- name: rspec
44
+ name: unicode_utils
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '3'
50
- type: :development
49
+ version: '1.4'
50
+ type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ">="
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '3'
56
+ version: '1.4'
57
57
  - !ruby/object:Gem::Dependency
58
- name: actionview
58
+ name: rspec
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ">="
@@ -69,25 +69,26 @@ dependencies:
69
69
  - !ruby/object:Gem::Version
70
70
  version: '3'
71
71
  - !ruby/object:Gem::Dependency
72
- name: yard
72
+ name: activesupport
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: '0'
77
+ version: '3'
78
78
  type: :development
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: '0'
84
+ version: '3'
85
85
  description: All sorts of useful information about every country packaged as pretty
86
86
  little country objects. It includes data from ISO 3166
87
87
  email:
88
88
  - hexorx@gmail.com
89
89
  - russell@burningpony.com
90
- executables: []
90
+ executables:
91
+ - console
91
92
  extensions: []
92
93
  extra_rdoc_files: []
93
94
  files:
@@ -99,106 +100,106 @@ files:
99
100
  - LICENSE
100
101
  - README.markdown
101
102
  - Rakefile
103
+ - bin/console
102
104
  - countries.gemspec
103
105
  - lib/countries.rb
104
- - lib/countries/cache/countries
105
- - lib/countries/cache/locales/af
106
- - lib/countries/cache/locales/am
107
- - lib/countries/cache/locales/ar
108
- - lib/countries/cache/locales/as
109
- - lib/countries/cache/locales/az
110
- - lib/countries/cache/locales/be
111
- - lib/countries/cache/locales/bg
112
- - lib/countries/cache/locales/bn
113
- - lib/countries/cache/locales/br
114
- - lib/countries/cache/locales/bs
115
- - lib/countries/cache/locales/ca
116
- - lib/countries/cache/locales/cs
117
- - lib/countries/cache/locales/cy
118
- - lib/countries/cache/locales/da
119
- - lib/countries/cache/locales/de
120
- - lib/countries/cache/locales/dz
121
- - lib/countries/cache/locales/el
122
- - lib/countries/cache/locales/en
123
- - lib/countries/cache/locales/eo
124
- - lib/countries/cache/locales/es
125
- - lib/countries/cache/locales/et
126
- - lib/countries/cache/locales/eu
127
- - lib/countries/cache/locales/fa
128
- - lib/countries/cache/locales/fi
129
- - lib/countries/cache/locales/fo
130
- - lib/countries/cache/locales/fr
131
- - lib/countries/cache/locales/ga
132
- - lib/countries/cache/locales/gl
133
- - lib/countries/cache/locales/gu
134
- - lib/countries/cache/locales/he
135
- - lib/countries/cache/locales/hi
136
- - lib/countries/cache/locales/hr
137
- - lib/countries/cache/locales/hu
138
- - lib/countries/cache/locales/hy
139
- - lib/countries/cache/locales/ia
140
- - lib/countries/cache/locales/id
141
- - lib/countries/cache/locales/is
142
- - lib/countries/cache/locales/it
143
- - lib/countries/cache/locales/ja
144
- - lib/countries/cache/locales/ka
145
- - lib/countries/cache/locales/kk
146
- - lib/countries/cache/locales/km
147
- - lib/countries/cache/locales/kn
148
- - lib/countries/cache/locales/ko
149
- - lib/countries/cache/locales/ku
150
- - lib/countries/cache/locales/lt
151
- - lib/countries/cache/locales/lv
152
- - lib/countries/cache/locales/mi
153
- - lib/countries/cache/locales/mk
154
- - lib/countries/cache/locales/ml
155
- - lib/countries/cache/locales/mn
156
- - lib/countries/cache/locales/mr
157
- - lib/countries/cache/locales/ms
158
- - lib/countries/cache/locales/mt
159
- - lib/countries/cache/locales/nb
160
- - lib/countries/cache/locales/ne
161
- - lib/countries/cache/locales/nl
162
- - lib/countries/cache/locales/nn
163
- - lib/countries/cache/locales/oc
164
- - lib/countries/cache/locales/or
165
- - lib/countries/cache/locales/pa
166
- - lib/countries/cache/locales/pl
167
- - lib/countries/cache/locales/ps
168
- - lib/countries/cache/locales/pt
169
- - lib/countries/cache/locales/ro
170
- - lib/countries/cache/locales/ru
171
- - lib/countries/cache/locales/rw
172
- - lib/countries/cache/locales/si
173
- - lib/countries/cache/locales/sk
174
- - lib/countries/cache/locales/sl
175
- - lib/countries/cache/locales/so
176
- - lib/countries/cache/locales/sq
177
- - lib/countries/cache/locales/sr
178
- - lib/countries/cache/locales/sv
179
- - lib/countries/cache/locales/sw
180
- - lib/countries/cache/locales/ta
181
- - lib/countries/cache/locales/te
182
- - lib/countries/cache/locales/th
183
- - lib/countries/cache/locales/ti
184
- - lib/countries/cache/locales/tk
185
- - lib/countries/cache/locales/tl
186
- - lib/countries/cache/locales/tr
187
- - lib/countries/cache/locales/tt
188
- - lib/countries/cache/locales/ug
189
- - lib/countries/cache/locales/uk
190
- - lib/countries/cache/locales/ve
191
- - lib/countries/cache/locales/vi
192
- - lib/countries/cache/locales/wa
193
- - lib/countries/cache/locales/wo
194
- - lib/countries/cache/locales/xh
195
- - lib/countries/cache/locales/zh
196
- - lib/countries/cache/locales/zu
106
+ - lib/countries/cache/countries.json
107
+ - lib/countries/cache/locales/af.json
108
+ - lib/countries/cache/locales/am.json
109
+ - lib/countries/cache/locales/ar.json
110
+ - lib/countries/cache/locales/as.json
111
+ - lib/countries/cache/locales/az.json
112
+ - lib/countries/cache/locales/be.json
113
+ - lib/countries/cache/locales/bg.json
114
+ - lib/countries/cache/locales/bn.json
115
+ - lib/countries/cache/locales/br.json
116
+ - lib/countries/cache/locales/bs.json
117
+ - lib/countries/cache/locales/ca.json
118
+ - lib/countries/cache/locales/cs.json
119
+ - lib/countries/cache/locales/cy.json
120
+ - lib/countries/cache/locales/da.json
121
+ - lib/countries/cache/locales/de.json
122
+ - lib/countries/cache/locales/dz.json
123
+ - lib/countries/cache/locales/el.json
124
+ - lib/countries/cache/locales/en.json
125
+ - lib/countries/cache/locales/eo.json
126
+ - lib/countries/cache/locales/es.json
127
+ - lib/countries/cache/locales/et.json
128
+ - lib/countries/cache/locales/eu.json
129
+ - lib/countries/cache/locales/fa.json
130
+ - lib/countries/cache/locales/fi.json
131
+ - lib/countries/cache/locales/fo.json
132
+ - lib/countries/cache/locales/fr.json
133
+ - lib/countries/cache/locales/ga.json
134
+ - lib/countries/cache/locales/gl.json
135
+ - lib/countries/cache/locales/gu.json
136
+ - lib/countries/cache/locales/he.json
137
+ - lib/countries/cache/locales/hi.json
138
+ - lib/countries/cache/locales/hr.json
139
+ - lib/countries/cache/locales/hu.json
140
+ - lib/countries/cache/locales/hy.json
141
+ - lib/countries/cache/locales/ia.json
142
+ - lib/countries/cache/locales/id.json
143
+ - lib/countries/cache/locales/is.json
144
+ - lib/countries/cache/locales/it.json
145
+ - lib/countries/cache/locales/ja.json
146
+ - lib/countries/cache/locales/ka.json
147
+ - lib/countries/cache/locales/kk.json
148
+ - lib/countries/cache/locales/km.json
149
+ - lib/countries/cache/locales/kn.json
150
+ - lib/countries/cache/locales/ko.json
151
+ - lib/countries/cache/locales/ku.json
152
+ - lib/countries/cache/locales/lt.json
153
+ - lib/countries/cache/locales/lv.json
154
+ - lib/countries/cache/locales/mi.json
155
+ - lib/countries/cache/locales/mk.json
156
+ - lib/countries/cache/locales/ml.json
157
+ - lib/countries/cache/locales/mn.json
158
+ - lib/countries/cache/locales/mr.json
159
+ - lib/countries/cache/locales/ms.json
160
+ - lib/countries/cache/locales/mt.json
161
+ - lib/countries/cache/locales/nb.json
162
+ - lib/countries/cache/locales/ne.json
163
+ - lib/countries/cache/locales/nl.json
164
+ - lib/countries/cache/locales/nn.json
165
+ - lib/countries/cache/locales/oc.json
166
+ - lib/countries/cache/locales/or.json
167
+ - lib/countries/cache/locales/pa.json
168
+ - lib/countries/cache/locales/pl.json
169
+ - lib/countries/cache/locales/ps.json
170
+ - lib/countries/cache/locales/pt.json
171
+ - lib/countries/cache/locales/ro.json
172
+ - lib/countries/cache/locales/ru.json
173
+ - lib/countries/cache/locales/rw.json
174
+ - lib/countries/cache/locales/si.json
175
+ - lib/countries/cache/locales/sk.json
176
+ - lib/countries/cache/locales/sl.json
177
+ - lib/countries/cache/locales/so.json
178
+ - lib/countries/cache/locales/sq.json
179
+ - lib/countries/cache/locales/sr.json
180
+ - lib/countries/cache/locales/sv.json
181
+ - lib/countries/cache/locales/sw.json
182
+ - lib/countries/cache/locales/ta.json
183
+ - lib/countries/cache/locales/te.json
184
+ - lib/countries/cache/locales/th.json
185
+ - lib/countries/cache/locales/ti.json
186
+ - lib/countries/cache/locales/tk.json
187
+ - lib/countries/cache/locales/tl.json
188
+ - lib/countries/cache/locales/tr.json
189
+ - lib/countries/cache/locales/tt.json
190
+ - lib/countries/cache/locales/ug.json
191
+ - lib/countries/cache/locales/uk.json
192
+ - lib/countries/cache/locales/ve.json
193
+ - lib/countries/cache/locales/vi.json
194
+ - lib/countries/cache/locales/wa.json
195
+ - lib/countries/cache/locales/wo.json
196
+ - lib/countries/cache/locales/xh.json
197
+ - lib/countries/cache/locales/zh.json
198
+ - lib/countries/cache/locales/zu.json
197
199
  - lib/countries/configuration.rb
198
200
  - lib/countries/country.rb
199
- - lib/countries/country/attr_readers.rb
201
+ - lib/countries/country/class_methods.rb
200
202
  - lib/countries/data.rb
201
- - lib/countries/data/countries.yaml
202
203
  - lib/countries/data/countries/AD.yaml
203
204
  - lib/countries/data/countries/AE.yaml
204
205
  - lib/countries/data/countries/AF.yaml
@@ -649,8 +650,11 @@ files:
649
650
  - lib/countries/data/translation_corrections.yaml
650
651
  - lib/countries/global.rb
651
652
  - lib/countries/iso3166.rb
653
+ - lib/countries/kwarg_struct.rb
652
654
  - lib/countries/mongoid.rb
653
655
  - lib/countries/setup.rb
656
+ - lib/countries/structure.rb
657
+ - lib/countries/subdivision.rb
654
658
  - lib/countries/timezones.rb
655
659
  - lib/countries/version.rb
656
660
  - spec/configuration_spec.rb
@@ -658,6 +662,7 @@ files:
658
662
  - spec/data_spec.rb
659
663
  - spec/global_spec.rb
660
664
  - spec/mongoid_spec.rb
665
+ - spec/perf_spec.rb
661
666
  - spec/spec_helper.rb
662
667
  - spec/timezone_spec.rb
663
668
  homepage: http://github.com/hexorx/countries
@@ -679,7 +684,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
679
684
  version: 1.3.1
680
685
  requirements: []
681
686
  rubyforge_project:
682
- rubygems_version: 2.4.5.1
687
+ rubygems_version: 2.5.1
683
688
  signing_key:
684
689
  specification_version: 4
685
690
  summary: Gives you a country object full of all sorts of useful information.
@@ -689,6 +694,7 @@ test_files:
689
694
  - spec/data_spec.rb
690
695
  - spec/global_spec.rb
691
696
  - spec/mongoid_spec.rb
697
+ - spec/perf_spec.rb
692
698
  - spec/spec_helper.rb
693
699
  - spec/timezone_spec.rb
694
700
  has_rdoc: