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

Sign up to get free protection for your applications and to get access to all the features.
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: