countries 3.0.0 → 3.1.0

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 (353) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +0 -1
  3. data/CHANGELOG.md +80 -0
  4. data/README.markdown +6 -5
  5. data/Rakefile +3 -2
  6. data/countries.gemspec +1 -2
  7. data/lib/countries/cache/countries.json +1 -1
  8. data/lib/countries/cache/locales/ab.json +1 -0
  9. data/lib/countries/cache/locales/af.json +1 -1
  10. data/lib/countries/cache/locales/ak.json +1 -0
  11. data/lib/countries/cache/locales/am.json +1 -1
  12. data/lib/countries/cache/locales/an.json +1 -0
  13. data/lib/countries/cache/locales/ar.json +1 -1
  14. data/lib/countries/cache/locales/as.json +1 -1
  15. data/lib/countries/cache/locales/ay.json +1 -0
  16. data/lib/countries/cache/locales/az.json +1 -1
  17. data/lib/countries/cache/locales/ba.json +1 -0
  18. data/lib/countries/cache/locales/be.json +1 -1
  19. data/lib/countries/cache/locales/bg.json +1 -1
  20. data/lib/countries/cache/locales/bi.json +1 -0
  21. data/lib/countries/cache/locales/bn-in.json +1 -0
  22. data/lib/countries/cache/locales/bn.json +1 -1
  23. data/lib/countries/cache/locales/br.json +1 -1
  24. data/lib/countries/cache/locales/bs.json +1 -1
  25. data/lib/countries/cache/locales/ca.json +1 -1
  26. data/lib/countries/cache/locales/ce.json +1 -0
  27. data/lib/countries/cache/locales/ch.json +1 -0
  28. data/lib/countries/cache/locales/cs.json +1 -1
  29. data/lib/countries/cache/locales/cv.json +1 -0
  30. data/lib/countries/cache/locales/cy.json +1 -1
  31. data/lib/countries/cache/locales/da.json +1 -1
  32. data/lib/countries/cache/locales/de.json +1 -1
  33. data/lib/countries/cache/locales/dv.json +1 -0
  34. data/lib/countries/cache/locales/dz.json +1 -1
  35. data/lib/countries/cache/locales/ee.json +1 -0
  36. data/lib/countries/cache/locales/el.json +1 -1
  37. data/lib/countries/cache/locales/en.json +1 -1
  38. data/lib/countries/cache/locales/eo.json +1 -1
  39. data/lib/countries/cache/locales/es.json +1 -1
  40. data/lib/countries/cache/locales/et.json +1 -1
  41. data/lib/countries/cache/locales/eu.json +1 -1
  42. data/lib/countries/cache/locales/fa.json +1 -1
  43. data/lib/countries/cache/locales/ff.json +1 -0
  44. data/lib/countries/cache/locales/fi.json +1 -1
  45. data/lib/countries/cache/locales/fo.json +1 -1
  46. data/lib/countries/cache/locales/fr.json +1 -1
  47. data/lib/countries/cache/locales/fy.json +1 -0
  48. data/lib/countries/cache/locales/ga.json +1 -1
  49. data/lib/countries/cache/locales/gl.json +1 -1
  50. data/lib/countries/cache/locales/gn.json +1 -0
  51. data/lib/countries/cache/locales/gu.json +1 -1
  52. data/lib/countries/cache/locales/gv.json +1 -0
  53. data/lib/countries/cache/locales/ha.json +1 -0
  54. data/lib/countries/cache/locales/he.json +1 -1
  55. data/lib/countries/cache/locales/hi.json +1 -1
  56. data/lib/countries/cache/locales/hr.json +1 -1
  57. data/lib/countries/cache/locales/ht.json +1 -0
  58. data/lib/countries/cache/locales/hu.json +1 -1
  59. data/lib/countries/cache/locales/hy.json +1 -1
  60. data/lib/countries/cache/locales/ia.json +1 -1
  61. data/lib/countries/cache/locales/id.json +1 -1
  62. data/lib/countries/cache/locales/io.json +1 -0
  63. data/lib/countries/cache/locales/is.json +1 -1
  64. data/lib/countries/cache/locales/it.json +1 -1
  65. data/lib/countries/cache/locales/iu.json +1 -0
  66. data/lib/countries/cache/locales/ja.json +1 -1
  67. data/lib/countries/cache/locales/ka.json +1 -1
  68. data/lib/countries/cache/locales/ki.json +1 -0
  69. data/lib/countries/cache/locales/kk.json +1 -1
  70. data/lib/countries/cache/locales/kl.json +1 -0
  71. data/lib/countries/cache/locales/km.json +1 -1
  72. data/lib/countries/cache/locales/kn.json +1 -1
  73. data/lib/countries/cache/locales/ko.json +1 -1
  74. data/lib/countries/cache/locales/ku.json +1 -1
  75. data/lib/countries/cache/locales/kv.json +1 -0
  76. data/lib/countries/cache/locales/kw.json +1 -0
  77. data/lib/countries/cache/locales/ky.json +1 -0
  78. data/lib/countries/cache/locales/lo.json +1 -0
  79. data/lib/countries/cache/locales/lt.json +1 -1
  80. data/lib/countries/cache/locales/lv.json +1 -1
  81. data/lib/countries/cache/locales/mi.json +1 -1
  82. data/lib/countries/cache/locales/mk.json +1 -1
  83. data/lib/countries/cache/locales/ml.json +1 -1
  84. data/lib/countries/cache/locales/mn.json +1 -1
  85. data/lib/countries/cache/locales/mr.json +1 -1
  86. data/lib/countries/cache/locales/ms.json +1 -1
  87. data/lib/countries/cache/locales/mt.json +1 -1
  88. data/lib/countries/cache/locales/my.json +1 -0
  89. data/lib/countries/cache/locales/na.json +1 -0
  90. data/lib/countries/cache/locales/nb.json +1 -1
  91. data/lib/countries/cache/locales/ne.json +1 -1
  92. data/lib/countries/cache/locales/nl.json +1 -1
  93. data/lib/countries/cache/locales/nn.json +1 -1
  94. data/lib/countries/cache/locales/nv.json +1 -0
  95. data/lib/countries/cache/locales/oc.json +1 -1
  96. data/lib/countries/cache/locales/or.json +1 -1
  97. data/lib/countries/cache/locales/pa.json +1 -1
  98. data/lib/countries/cache/locales/pi.json +1 -0
  99. data/lib/countries/cache/locales/pl.json +1 -1
  100. data/lib/countries/cache/locales/ps.json +1 -1
  101. data/lib/countries/cache/locales/pt-br.json +1 -0
  102. data/lib/countries/cache/locales/pt.json +1 -1
  103. data/lib/countries/cache/locales/ro.json +1 -1
  104. data/lib/countries/cache/locales/ru.json +1 -1
  105. data/lib/countries/cache/locales/rw.json +1 -1
  106. data/lib/countries/cache/locales/sc.json +1 -0
  107. data/lib/countries/cache/locales/sd.json +1 -0
  108. data/lib/countries/cache/locales/si.json +1 -1
  109. data/lib/countries/cache/locales/sk.json +1 -1
  110. data/lib/countries/cache/locales/sl.json +1 -1
  111. data/lib/countries/cache/locales/so.json +1 -1
  112. data/lib/countries/cache/locales/sq.json +1 -1
  113. data/lib/countries/cache/locales/sr.json +1 -1
  114. data/lib/countries/cache/locales/sv.json +1 -1
  115. data/lib/countries/cache/locales/sw.json +1 -1
  116. data/lib/countries/cache/locales/ta.json +1 -1
  117. data/lib/countries/cache/locales/te.json +1 -1
  118. data/lib/countries/cache/locales/tg.json +1 -0
  119. data/lib/countries/cache/locales/th.json +1 -1
  120. data/lib/countries/cache/locales/ti.json +1 -1
  121. data/lib/countries/cache/locales/tk.json +1 -1
  122. data/lib/countries/cache/locales/tl.json +1 -1
  123. data/lib/countries/cache/locales/tr.json +1 -1
  124. data/lib/countries/cache/locales/tt.json +1 -1
  125. data/lib/countries/cache/locales/ug.json +1 -1
  126. data/lib/countries/cache/locales/uk.json +1 -1
  127. data/lib/countries/cache/locales/ur.json +1 -0
  128. data/lib/countries/cache/locales/uz.json +1 -0
  129. data/lib/countries/cache/locales/ve.json +1 -1
  130. data/lib/countries/cache/locales/vi.json +1 -1
  131. data/lib/countries/cache/locales/wa.json +1 -1
  132. data/lib/countries/cache/locales/wo.json +1 -1
  133. data/lib/countries/cache/locales/xh.json +1 -1
  134. data/lib/countries/cache/locales/yo.json +1 -0
  135. data/lib/countries/cache/locales/zh-cn.json +1 -0
  136. data/lib/countries/cache/locales/zh-hk.json +1 -0
  137. data/lib/countries/cache/locales/zh-tw.json +1 -0
  138. data/lib/countries/cache/locales/zh.json +1 -1
  139. data/lib/countries/cache/locales/zu.json +1 -1
  140. data/lib/countries/country.rb +1 -0
  141. data/lib/countries/country/class_methods.rb +21 -1
  142. data/lib/countries/data.rb +4 -1
  143. data/lib/countries/data/countries/AD.yaml +1 -0
  144. data/lib/countries/data/countries/AF.yaml +1 -0
  145. data/lib/countries/data/countries/AG.yaml +1 -1
  146. data/lib/countries/data/countries/AI.yaml +1 -0
  147. data/lib/countries/data/countries/AL.yaml +2 -1
  148. data/lib/countries/data/countries/AM.yaml +1 -0
  149. data/lib/countries/data/countries/AQ.yaml +1 -1
  150. data/lib/countries/data/countries/AR.yaml +1 -0
  151. data/lib/countries/data/countries/AS.yaml +1 -0
  152. data/lib/countries/data/countries/AT.yaml +1 -0
  153. data/lib/countries/data/countries/AU.yaml +1 -0
  154. data/lib/countries/data/countries/AX.yaml +1 -0
  155. data/lib/countries/data/countries/AZ.yaml +1 -0
  156. data/lib/countries/data/countries/BA.yaml +1 -0
  157. data/lib/countries/data/countries/BB.yaml +1 -0
  158. data/lib/countries/data/countries/BD.yaml +1 -0
  159. data/lib/countries/data/countries/BE.yaml +1 -0
  160. data/lib/countries/data/countries/BG.yaml +1 -0
  161. data/lib/countries/data/countries/BH.yaml +2 -1
  162. data/lib/countries/data/countries/BL.yaml +1 -0
  163. data/lib/countries/data/countries/BM.yaml +1 -0
  164. data/lib/countries/data/countries/BN.yaml +2 -1
  165. data/lib/countries/data/countries/BO.yaml +1 -1
  166. data/lib/countries/data/countries/BQ.yaml +1 -1
  167. data/lib/countries/data/countries/BR.yaml +3 -2
  168. data/lib/countries/data/countries/BT.yaml +1 -0
  169. data/lib/countries/data/countries/BV.yaml +1 -1
  170. data/lib/countries/data/countries/BY.yaml +1 -0
  171. data/lib/countries/data/countries/BZ.yaml +1 -1
  172. data/lib/countries/data/countries/CA.yaml +1 -0
  173. data/lib/countries/data/countries/CC.yaml +1 -0
  174. data/lib/countries/data/countries/CH.yaml +1 -0
  175. data/lib/countries/data/countries/CL.yaml +6 -0
  176. data/lib/countries/data/countries/CN.yaml +1 -0
  177. data/lib/countries/data/countries/CO.yaml +1 -0
  178. data/lib/countries/data/countries/CR.yaml +1 -0
  179. data/lib/countries/data/countries/CU.yaml +1 -0
  180. data/lib/countries/data/countries/CV.yaml +1 -0
  181. data/lib/countries/data/countries/CW.yaml +1 -1
  182. data/lib/countries/data/countries/CX.yaml +1 -0
  183. data/lib/countries/data/countries/CY.yaml +1 -0
  184. data/lib/countries/data/countries/CZ.yaml +2 -0
  185. data/lib/countries/data/countries/DE.yaml +1 -0
  186. data/lib/countries/data/countries/DK.yaml +1 -0
  187. data/lib/countries/data/countries/DO.yaml +1 -0
  188. data/lib/countries/data/countries/DZ.yaml +1 -0
  189. data/lib/countries/data/countries/EC.yaml +1 -0
  190. data/lib/countries/data/countries/EE.yaml +1 -0
  191. data/lib/countries/data/countries/EG.yaml +1 -0
  192. data/lib/countries/data/countries/EH.yaml +1 -0
  193. data/lib/countries/data/countries/ES.yaml +1 -0
  194. data/lib/countries/data/countries/ET.yaml +1 -0
  195. data/lib/countries/data/countries/FI.yaml +1 -0
  196. data/lib/countries/data/countries/FK.yaml +1 -0
  197. data/lib/countries/data/countries/FM.yaml +1 -0
  198. data/lib/countries/data/countries/FO.yaml +1 -0
  199. data/lib/countries/data/countries/FR.yaml +1 -0
  200. data/lib/countries/data/countries/GA.yaml +1 -1
  201. data/lib/countries/data/countries/GB.yaml +6 -2
  202. data/lib/countries/data/countries/GE.yaml +1 -0
  203. data/lib/countries/data/countries/GF.yaml +1 -0
  204. data/lib/countries/data/countries/GG.yaml +1 -0
  205. data/lib/countries/data/countries/GI.yaml +1 -0
  206. data/lib/countries/data/countries/GL.yaml +2 -1
  207. data/lib/countries/data/countries/GN.yaml +2 -1
  208. data/lib/countries/data/countries/GP.yaml +1 -0
  209. data/lib/countries/data/countries/GR.yaml +1 -0
  210. data/lib/countries/data/countries/GS.yaml +1 -0
  211. data/lib/countries/data/countries/GT.yaml +1 -0
  212. data/lib/countries/data/countries/GU.yaml +1 -0
  213. data/lib/countries/data/countries/GW.yaml +1 -0
  214. data/lib/countries/data/countries/HM.yaml +2 -1
  215. data/lib/countries/data/countries/HN.yaml +1 -0
  216. data/lib/countries/data/countries/HR.yaml +1 -0
  217. data/lib/countries/data/countries/HT.yaml +1 -0
  218. data/lib/countries/data/countries/HU.yaml +1 -0
  219. data/lib/countries/data/countries/ID.yaml +1 -0
  220. data/lib/countries/data/countries/IE.yaml +2 -1
  221. data/lib/countries/data/countries/IL.yaml +1 -0
  222. data/lib/countries/data/countries/IM.yaml +1 -0
  223. data/lib/countries/data/countries/IN.yaml +1 -0
  224. data/lib/countries/data/countries/IO.yaml +2 -1
  225. data/lib/countries/data/countries/IQ.yaml +1 -0
  226. data/lib/countries/data/countries/IR.yaml +1 -0
  227. data/lib/countries/data/countries/IS.yaml +2 -1
  228. data/lib/countries/data/countries/IT.yaml +1 -0
  229. data/lib/countries/data/countries/JE.yaml +1 -0
  230. data/lib/countries/data/countries/JO.yaml +1 -0
  231. data/lib/countries/data/countries/JP.yaml +1 -0
  232. data/lib/countries/data/countries/KE.yaml +2 -1
  233. data/lib/countries/data/countries/KG.yaml +1 -0
  234. data/lib/countries/data/countries/KH.yaml +1 -0
  235. data/lib/countries/data/countries/KR.yaml +1 -0
  236. data/lib/countries/data/countries/KW.yaml +1 -0
  237. data/lib/countries/data/countries/KY.yaml +1 -0
  238. data/lib/countries/data/countries/KZ.yaml +1 -0
  239. data/lib/countries/data/countries/LA.yaml +1 -0
  240. data/lib/countries/data/countries/LB.yaml +1 -0
  241. data/lib/countries/data/countries/LI.yaml +1 -0
  242. data/lib/countries/data/countries/LK.yaml +1 -0
  243. data/lib/countries/data/countries/LR.yaml +1 -0
  244. data/lib/countries/data/countries/LS.yaml +1 -0
  245. data/lib/countries/data/countries/LT.yaml +1 -0
  246. data/lib/countries/data/countries/LU.yaml +1 -0
  247. data/lib/countries/data/countries/LV.yaml +7 -0
  248. data/lib/countries/data/countries/LY.yaml +1 -1
  249. data/lib/countries/data/countries/MA.yaml +1 -0
  250. data/lib/countries/data/countries/MC.yaml +1 -0
  251. data/lib/countries/data/countries/MD.yaml +1 -0
  252. data/lib/countries/data/countries/ME.yaml +1 -0
  253. data/lib/countries/data/countries/MF.yaml +1 -0
  254. data/lib/countries/data/countries/MG.yaml +1 -0
  255. data/lib/countries/data/countries/MH.yaml +1 -0
  256. data/lib/countries/data/countries/MK.yaml +3 -1
  257. data/lib/countries/data/countries/MM.yaml +1 -0
  258. data/lib/countries/data/countries/MN.yaml +1 -0
  259. data/lib/countries/data/countries/MP.yaml +1 -0
  260. data/lib/countries/data/countries/MQ.yaml +1 -0
  261. data/lib/countries/data/countries/MR.yaml +1 -1
  262. data/lib/countries/data/countries/MT.yaml +1 -0
  263. data/lib/countries/data/countries/MU.yaml +2 -1
  264. data/lib/countries/data/countries/MV.yaml +1 -0
  265. data/lib/countries/data/countries/MX.yaml +3 -2
  266. data/lib/countries/data/countries/MY.yaml +1 -0
  267. data/lib/countries/data/countries/MZ.yaml +1 -0
  268. data/lib/countries/data/countries/NA.yaml +1 -0
  269. data/lib/countries/data/countries/NC.yaml +1 -0
  270. data/lib/countries/data/countries/NE.yaml +1 -0
  271. data/lib/countries/data/countries/NF.yaml +1 -0
  272. data/lib/countries/data/countries/NG.yaml +2 -1
  273. data/lib/countries/data/countries/NI.yaml +1 -0
  274. data/lib/countries/data/countries/NL.yaml +2 -0
  275. data/lib/countries/data/countries/NO.yaml +3 -2
  276. data/lib/countries/data/countries/NP.yaml +1 -0
  277. data/lib/countries/data/countries/NZ.yaml +3 -2
  278. data/lib/countries/data/countries/OM.yaml +1 -0
  279. data/lib/countries/data/countries/PE.yaml +1 -0
  280. data/lib/countries/data/countries/PF.yaml +1 -0
  281. data/lib/countries/data/countries/PG.yaml +1 -0
  282. data/lib/countries/data/countries/PH.yaml +3 -2
  283. data/lib/countries/data/countries/PK.yaml +1 -0
  284. data/lib/countries/data/countries/PL.yaml +1 -0
  285. data/lib/countries/data/countries/PM.yaml +1 -0
  286. data/lib/countries/data/countries/PN.yaml +1 -0
  287. data/lib/countries/data/countries/PR.yaml +1 -0
  288. data/lib/countries/data/countries/PS.yaml +1 -1
  289. data/lib/countries/data/countries/PT.yaml +1 -0
  290. data/lib/countries/data/countries/PW.yaml +1 -0
  291. data/lib/countries/data/countries/PY.yaml +1 -0
  292. data/lib/countries/data/countries/RE.yaml +1 -0
  293. data/lib/countries/data/countries/RO.yaml +1 -0
  294. data/lib/countries/data/countries/RS.yaml +1 -0
  295. data/lib/countries/data/countries/RU.yaml +1 -0
  296. data/lib/countries/data/countries/SA.yaml +2 -1
  297. data/lib/countries/data/countries/SB.yaml +1 -1
  298. data/lib/countries/data/countries/SD.yaml +1 -0
  299. data/lib/countries/data/countries/SE.yaml +1 -0
  300. data/lib/countries/data/countries/SG.yaml +1 -0
  301. data/lib/countries/data/countries/SH.yaml +1 -0
  302. data/lib/countries/data/countries/SI.yaml +1 -0
  303. data/lib/countries/data/countries/SJ.yaml +1 -0
  304. data/lib/countries/data/countries/SK.yaml +1 -0
  305. data/lib/countries/data/countries/SM.yaml +1 -0
  306. data/lib/countries/data/countries/SN.yaml +1 -0
  307. data/lib/countries/data/countries/SO.yaml +2 -1
  308. data/lib/countries/data/countries/SS.yaml +2 -2
  309. data/lib/countries/data/countries/SV.yaml +1 -0
  310. data/lib/countries/data/countries/SX.yaml +1 -1
  311. data/lib/countries/data/countries/SZ.yaml +2 -1
  312. data/lib/countries/data/countries/TC.yaml +1 -0
  313. data/lib/countries/data/countries/TD.yaml +1 -1
  314. data/lib/countries/data/countries/TG.yaml +1 -1
  315. data/lib/countries/data/countries/TH.yaml +3 -1
  316. data/lib/countries/data/countries/TJ.yaml +1 -0
  317. data/lib/countries/data/countries/TM.yaml +1 -0
  318. data/lib/countries/data/countries/TN.yaml +1 -0
  319. data/lib/countries/data/countries/TR.yaml +1 -0
  320. data/lib/countries/data/countries/TV.yaml +1 -1
  321. data/lib/countries/data/countries/TW.yaml +1 -0
  322. data/lib/countries/data/countries/TZ.yaml +2 -1
  323. data/lib/countries/data/countries/UA.yaml +2 -1
  324. data/lib/countries/data/countries/UM.yaml +1 -0
  325. data/lib/countries/data/countries/US.yaml +2 -0
  326. data/lib/countries/data/countries/UY.yaml +1 -0
  327. data/lib/countries/data/countries/UZ.yaml +1 -0
  328. data/lib/countries/data/countries/VA.yaml +1 -0
  329. data/lib/countries/data/countries/VC.yaml +1 -0
  330. data/lib/countries/data/countries/VE.yaml +1 -0
  331. data/lib/countries/data/countries/VG.yaml +2 -1
  332. data/lib/countries/data/countries/VI.yaml +1 -0
  333. data/lib/countries/data/countries/VN.yaml +7 -0
  334. data/lib/countries/data/countries/WF.yaml +1 -0
  335. data/lib/countries/data/countries/WS.yaml +2 -2
  336. data/lib/countries/data/countries/YT.yaml +1 -0
  337. data/lib/countries/data/countries/ZA.yaml +3 -2
  338. data/lib/countries/data/countries/ZM.yaml +1 -0
  339. data/lib/countries/data/subdivisions/CL.yaml +37 -0
  340. data/lib/countries/data/subdivisions/CN.yaml +34 -34
  341. data/lib/countries/data/subdivisions/ES.yaml +192 -144
  342. data/lib/countries/data/subdivisions/FO.yaml +1 -1
  343. data/lib/countries/data/subdivisions/GB.yaml +4 -1
  344. data/lib/countries/data/subdivisions/IE.yaml +85 -50
  345. data/lib/countries/data/subdivisions/SD.yaml +1 -1
  346. data/lib/countries/data/translation_corrections.yaml +6 -0
  347. data/lib/countries/structure.rb +1 -0
  348. data/lib/countries/tasks/postal_codes.rake +48 -0
  349. data/lib/countries/version.rb +1 -1
  350. data/spec/country_spec.rb +49 -9
  351. data/spec/subdivision_spec.rb +14 -0
  352. metadata +50 -12
  353. data/lib/countries/data/subdivisions/PR.yaml +0 -1015
@@ -1,3 +1,3 @@
1
1
  module Countries
2
- VERSION = '3.0.0'.freeze
2
+ VERSION = '3.1.0'.freeze
3
3
  end
data/spec/country_spec.rb CHANGED
@@ -48,7 +48,7 @@ describe ISO3166::Country do
48
48
  end
49
49
 
50
50
  it 'should return alternate names' do
51
- expect(country.names).to eq(['United States', 'Vereinigte Staaten von Amerika', 'États-Unis', 'Estados Unidos', 'アメリカ合衆国', 'Verenigde Staten'])
51
+ expect(country.names).to eq(['United States', 'Murica', 'Vereinigte Staaten von Amerika', 'États-Unis', 'Estados Unidos', 'アメリカ合衆国', 'Verenigde Staten'])
52
52
  end
53
53
 
54
54
  it 'should return translations' do
@@ -85,8 +85,18 @@ describe ISO3166::Country do
85
85
  end
86
86
 
87
87
  it 'knows when a country does not require postal codes' do
88
- ireland = ISO3166::Country.search('IE')
89
- expect(ireland.postal_code).to eq(false)
88
+ antarctica = ISO3166::Country.search('AQ')
89
+ expect(antarctica.postal_code).to eq(false)
90
+ end
91
+
92
+ it 'knows about the country postal code format' do
93
+ expect(country.postal_code_format).to_not be_nil
94
+
95
+ regex = Regexp.new(country.postal_code_format)
96
+ expect(regex).to match("12345-6789")
97
+
98
+ antarctica = ISO3166::Country.search('AQ')
99
+ expect(antarctica.postal_code_format).to be_nil
90
100
  end
91
101
 
92
102
  it 'should return region' do
@@ -322,7 +332,7 @@ describe ISO3166::Country do
322
332
  countries = ISO3166::Country.all_translated('fr')
323
333
  expect(countries).to be_an(Array)
324
334
  expect(countries.first).to be_a(String)
325
- expect(countries.first).to eq('Afghanistan')
335
+ expect(countries.first).to eq('Aruba')
326
336
  # countries missing the desired locale will not be added to the list
327
337
  # so all 250 countries may not be returned, 'fr' returns 249, for example
328
338
  expect(countries.size).to eq(NUM_OF_COUNTRIES)
@@ -332,7 +342,7 @@ describe ISO3166::Country do
332
342
  countries = ISO3166::Country.all_translated
333
343
  expect(countries).to be_an(Array)
334
344
  expect(countries.first).to be_a(String)
335
- expect(countries.first).to eq('Afghanistan')
345
+ expect(countries.first).to eq('Aruba')
336
346
  expect(countries.size).to eq(NUM_OF_COUNTRIES)
337
347
  end
338
348
  end
@@ -397,14 +407,31 @@ describe ISO3166::Country do
397
407
  countries = ISO3166::Country.new(:de).translation('xxx')
398
408
  expect(countries).to be_nil
399
409
  end
410
+
411
+ context 'should return variant locales' do
412
+ it 'should return different value for Chinese variants' do
413
+ ISO3166.configuration.locales = [:'zh-cn', :'zh-hk', :'zh-tw']
414
+ name_cn = ISO3166::Country['TW'].translation('zh-cn')
415
+ name_hk = ISO3166::Country['TW'].translation('zh-hk')
416
+ name_tw = ISO3166::Country['TW'].translation('zh-tw')
417
+ expect([name_cn, name_hk, name_tw].uniq.size).to eql 3
418
+ end
419
+
420
+ it 'should return different value for Portuguese variants' do
421
+ ISO3166.configuration.locales = [:pt, :'pt-br']
422
+ name_pt = ISO3166::Country['SG'].translation('pt')
423
+ name_br = ISO3166::Country['SG'].translation('pt-br')
424
+ expect([name_pt, name_br].uniq.size).to eql 2
425
+ end
426
+ end
400
427
  end
401
428
 
402
429
  describe 'translations' do
403
430
  it 'should return an hash of all country names translated to the selected locale' do
404
431
  countries = ISO3166::Country.translations('fr')
405
432
  expect(countries).to be_an(Hash)
406
- expect(countries.first[0]).to eq('AF')
407
- expect(countries.first).to eq(%w(AF Afghanistan))
433
+ expect(countries.first[0]).to eq('AW')
434
+ expect(countries.first).to eq(%w(AW Aruba))
408
435
  # countries missing the desired locale will not be added to the list
409
436
  # so all 250 countries may not be returned, 'fr' returns 249, for example
410
437
  expect(countries.size).to eq(NUM_OF_COUNTRIES)
@@ -413,8 +440,8 @@ describe ISO3166::Country do
413
440
  it 'should return an hash of all country names in English if no locale is passed' do
414
441
  countries = ISO3166::Country.translations
415
442
  expect(countries).to be_an(Hash)
416
- expect(countries.first[0]).to eq('AF')
417
- expect(countries.first).to eq(%w(AF Afghanistan))
443
+ expect(countries.first[0]).to eq('AW')
444
+ expect(countries.first).to eq(%w(AW Aruba))
418
445
  expect(countries.size).to eq(NUM_OF_COUNTRIES)
419
446
  end
420
447
  end
@@ -502,6 +529,19 @@ describe ISO3166::Country do
502
529
  expect(spain_data).to be_a Hash
503
530
  expect(spain_data.keys).to eq(['ES'])
504
531
  end
532
+
533
+ it 'performs reasonably' do
534
+ start = Time.now
535
+ 250.times do
536
+ lookup = ['ZM', 'ZMB', 'Zambia', 'US', 'USA', 'United States'].sample
537
+ case lookup.length
538
+ when 2 then ISO3166::Country.find_all_by(:alpha2, lookup)
539
+ when 3 then ISO3166::Country.find_all_by(:alpha3, lookup)
540
+ else ISO3166::Country.find_all_by(:name, lookup)
541
+ end
542
+ end
543
+ expect(Time.now - start).to be < 1
544
+ end
505
545
  end
506
546
 
507
547
  describe 'hash finder methods' do
@@ -3,6 +3,10 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  describe ISO3166::Subdivision do
6
+ before do
7
+ ISO3166::Data.reset
8
+ end
9
+
6
10
  let(:countries) { ISO3166::Country.all }
7
11
  let(:available_types) { [Hash, NilClass] }
8
12
 
@@ -15,4 +19,14 @@ describe ISO3166::Subdivision do
15
19
  end
16
20
  end
17
21
  end
22
+
23
+ describe 'state codes' do
24
+ it 'should all be strings' do
25
+ countries.each do |country|
26
+ expect(country.subdivisions.keys).to all(be_a(String)), \
27
+ "Expected #{country.alpha2.inspect} to have string subdivision" \
28
+ "codes but had #{country.subdivisions.keys.inspect}"
29
+ end
30
+ end
31
+ end
18
32
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: countries
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Robinson
8
8
  - Joe Corcoran
9
9
  - Russell Osborne
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-12-18 00:00:00.000000000 Z
13
+ date: 2021-03-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: i18n_data
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - "~>"
20
20
  - !ruby/object:Gem::Version
21
- version: 0.8.0
21
+ version: 0.11.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
- version: 0.8.0
28
+ version: 0.11.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: unicode_utils
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -101,8 +101,7 @@ description: All sorts of useful information about every country packaged as pre
101
101
  email:
102
102
  - hexorx@gmail.com
103
103
  - russell@burningpony.com
104
- executables:
105
- - console
104
+ executables: []
106
105
  extensions: []
107
106
  extra_rdoc_files: []
108
107
  files:
@@ -120,22 +119,34 @@ files:
120
119
  - countries.gemspec
121
120
  - lib/countries.rb
122
121
  - lib/countries/cache/countries.json
122
+ - lib/countries/cache/locales/ab.json
123
123
  - lib/countries/cache/locales/af.json
124
+ - lib/countries/cache/locales/ak.json
124
125
  - lib/countries/cache/locales/am.json
126
+ - lib/countries/cache/locales/an.json
125
127
  - lib/countries/cache/locales/ar.json
126
128
  - lib/countries/cache/locales/as.json
129
+ - lib/countries/cache/locales/ay.json
127
130
  - lib/countries/cache/locales/az.json
131
+ - lib/countries/cache/locales/ba.json
128
132
  - lib/countries/cache/locales/be.json
129
133
  - lib/countries/cache/locales/bg.json
134
+ - lib/countries/cache/locales/bi.json
135
+ - lib/countries/cache/locales/bn-in.json
130
136
  - lib/countries/cache/locales/bn.json
131
137
  - lib/countries/cache/locales/br.json
132
138
  - lib/countries/cache/locales/bs.json
133
139
  - lib/countries/cache/locales/ca.json
140
+ - lib/countries/cache/locales/ce.json
141
+ - lib/countries/cache/locales/ch.json
134
142
  - lib/countries/cache/locales/cs.json
143
+ - lib/countries/cache/locales/cv.json
135
144
  - lib/countries/cache/locales/cy.json
136
145
  - lib/countries/cache/locales/da.json
137
146
  - lib/countries/cache/locales/de.json
147
+ - lib/countries/cache/locales/dv.json
138
148
  - lib/countries/cache/locales/dz.json
149
+ - lib/countries/cache/locales/ee.json
139
150
  - lib/countries/cache/locales/el.json
140
151
  - lib/countries/cache/locales/en.json
141
152
  - lib/countries/cache/locales/eo.json
@@ -143,28 +154,42 @@ files:
143
154
  - lib/countries/cache/locales/et.json
144
155
  - lib/countries/cache/locales/eu.json
145
156
  - lib/countries/cache/locales/fa.json
157
+ - lib/countries/cache/locales/ff.json
146
158
  - lib/countries/cache/locales/fi.json
147
159
  - lib/countries/cache/locales/fo.json
148
160
  - lib/countries/cache/locales/fr.json
161
+ - lib/countries/cache/locales/fy.json
149
162
  - lib/countries/cache/locales/ga.json
150
163
  - lib/countries/cache/locales/gl.json
164
+ - lib/countries/cache/locales/gn.json
151
165
  - lib/countries/cache/locales/gu.json
166
+ - lib/countries/cache/locales/gv.json
167
+ - lib/countries/cache/locales/ha.json
152
168
  - lib/countries/cache/locales/he.json
153
169
  - lib/countries/cache/locales/hi.json
154
170
  - lib/countries/cache/locales/hr.json
171
+ - lib/countries/cache/locales/ht.json
155
172
  - lib/countries/cache/locales/hu.json
156
173
  - lib/countries/cache/locales/hy.json
157
174
  - lib/countries/cache/locales/ia.json
158
175
  - lib/countries/cache/locales/id.json
176
+ - lib/countries/cache/locales/io.json
159
177
  - lib/countries/cache/locales/is.json
160
178
  - lib/countries/cache/locales/it.json
179
+ - lib/countries/cache/locales/iu.json
161
180
  - lib/countries/cache/locales/ja.json
162
181
  - lib/countries/cache/locales/ka.json
182
+ - lib/countries/cache/locales/ki.json
163
183
  - lib/countries/cache/locales/kk.json
184
+ - lib/countries/cache/locales/kl.json
164
185
  - lib/countries/cache/locales/km.json
165
186
  - lib/countries/cache/locales/kn.json
166
187
  - lib/countries/cache/locales/ko.json
167
188
  - lib/countries/cache/locales/ku.json
189
+ - lib/countries/cache/locales/kv.json
190
+ - lib/countries/cache/locales/kw.json
191
+ - lib/countries/cache/locales/ky.json
192
+ - lib/countries/cache/locales/lo.json
168
193
  - lib/countries/cache/locales/lt.json
169
194
  - lib/countries/cache/locales/lv.json
170
195
  - lib/countries/cache/locales/mi.json
@@ -174,19 +199,26 @@ files:
174
199
  - lib/countries/cache/locales/mr.json
175
200
  - lib/countries/cache/locales/ms.json
176
201
  - lib/countries/cache/locales/mt.json
202
+ - lib/countries/cache/locales/my.json
203
+ - lib/countries/cache/locales/na.json
177
204
  - lib/countries/cache/locales/nb.json
178
205
  - lib/countries/cache/locales/ne.json
179
206
  - lib/countries/cache/locales/nl.json
180
207
  - lib/countries/cache/locales/nn.json
208
+ - lib/countries/cache/locales/nv.json
181
209
  - lib/countries/cache/locales/oc.json
182
210
  - lib/countries/cache/locales/or.json
183
211
  - lib/countries/cache/locales/pa.json
212
+ - lib/countries/cache/locales/pi.json
184
213
  - lib/countries/cache/locales/pl.json
185
214
  - lib/countries/cache/locales/ps.json
215
+ - lib/countries/cache/locales/pt-br.json
186
216
  - lib/countries/cache/locales/pt.json
187
217
  - lib/countries/cache/locales/ro.json
188
218
  - lib/countries/cache/locales/ru.json
189
219
  - lib/countries/cache/locales/rw.json
220
+ - lib/countries/cache/locales/sc.json
221
+ - lib/countries/cache/locales/sd.json
190
222
  - lib/countries/cache/locales/si.json
191
223
  - lib/countries/cache/locales/sk.json
192
224
  - lib/countries/cache/locales/sl.json
@@ -197,6 +229,7 @@ files:
197
229
  - lib/countries/cache/locales/sw.json
198
230
  - lib/countries/cache/locales/ta.json
199
231
  - lib/countries/cache/locales/te.json
232
+ - lib/countries/cache/locales/tg.json
200
233
  - lib/countries/cache/locales/th.json
201
234
  - lib/countries/cache/locales/ti.json
202
235
  - lib/countries/cache/locales/tk.json
@@ -205,11 +238,17 @@ files:
205
238
  - lib/countries/cache/locales/tt.json
206
239
  - lib/countries/cache/locales/ug.json
207
240
  - lib/countries/cache/locales/uk.json
241
+ - lib/countries/cache/locales/ur.json
242
+ - lib/countries/cache/locales/uz.json
208
243
  - lib/countries/cache/locales/ve.json
209
244
  - lib/countries/cache/locales/vi.json
210
245
  - lib/countries/cache/locales/wa.json
211
246
  - lib/countries/cache/locales/wo.json
212
247
  - lib/countries/cache/locales/xh.json
248
+ - lib/countries/cache/locales/yo.json
249
+ - lib/countries/cache/locales/zh-cn.json
250
+ - lib/countries/cache/locales/zh-hk.json
251
+ - lib/countries/cache/locales/zh-tw.json
213
252
  - lib/countries/cache/locales/zh.json
214
253
  - lib/countries/cache/locales/zu.json
215
254
  - lib/countries/configuration.rb
@@ -628,7 +667,6 @@ files:
628
667
  - lib/countries/data/subdivisions/PK.yaml
629
668
  - lib/countries/data/subdivisions/PL.yaml
630
669
  - lib/countries/data/subdivisions/PM.yaml
631
- - lib/countries/data/subdivisions/PR.yaml
632
670
  - lib/countries/data/subdivisions/PS.yaml
633
671
  - lib/countries/data/subdivisions/PT.yaml
634
672
  - lib/countries/data/subdivisions/PW.yaml
@@ -706,6 +744,7 @@ files:
706
744
  - lib/countries/structure.rb
707
745
  - lib/countries/subdivision.rb
708
746
  - lib/countries/tasks/geocoding.rake
747
+ - lib/countries/tasks/postal_codes.rake
709
748
  - lib/countries/timezones.rb
710
749
  - lib/countries/translations.rb
711
750
  - lib/countries/version.rb
@@ -722,7 +761,7 @@ homepage: http://github.com/hexorx/countries
722
761
  licenses:
723
762
  - MIT
724
763
  metadata: {}
725
- post_install_message:
764
+ post_install_message:
726
765
  rdoc_options: []
727
766
  require_paths:
728
767
  - lib
@@ -737,9 +776,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
737
776
  - !ruby/object:Gem::Version
738
777
  version: '0'
739
778
  requirements: []
740
- rubyforge_project:
741
- rubygems_version: 2.7.3
742
- signing_key:
779
+ rubygems_version: 3.1.4
780
+ signing_key:
743
781
  specification_version: 4
744
782
  summary: Gives you a country object full of all sorts of useful information.
745
783
  test_files:
@@ -1,1015 +0,0 @@
1
- ---
2
- '1':
3
- unofficial_names: Adjuntas
4
- translations:
5
- en: Adjuntas
6
- geo:
7
- latitude: 18.16274
8
- longitude: -66.72212
9
- min_latitude:
10
- min_longitude:
11
- max_latitude:
12
- max_longitude:
13
- name: Adjuntas
14
- comments:
15
- '2':
16
- unofficial_names: Aguada
17
- translations:
18
- en: Aguada
19
- geo:
20
- latitude: 18.3605
21
- longitude: -67.17463
22
- min_latitude:
23
- min_longitude:
24
- max_latitude:
25
- max_longitude:
26
- name: Aguada
27
- comments:
28
- '3':
29
- unofficial_names: Aguadilla
30
- translations:
31
- en: Aguadilla
32
- geo:
33
- latitude: 18.42745
34
- longitude: -67.15407
35
- min_latitude:
36
- min_longitude:
37
- max_latitude:
38
- max_longitude:
39
- name: Aguadilla
40
- comments:
41
- '4':
42
- unofficial_names: Aguas Buenas
43
- translations:
44
- en: Aguas Buenas
45
- geo:
46
- latitude: 18.2569
47
- longitude: -66.10294
48
- min_latitude:
49
- min_longitude:
50
- max_latitude:
51
- max_longitude:
52
- name: Aguas Buenas
53
- comments:
54
- '5':
55
- unofficial_names: Aibonito
56
- translations:
57
- en: Aibonito
58
- geo:
59
- latitude: 18.13996
60
- longitude: -66.266
61
- min_latitude:
62
- min_longitude:
63
- max_latitude:
64
- max_longitude:
65
- name: Aibonito
66
- comments:
67
- '6':
68
- unofficial_names: Anasco
69
- translations:
70
- en: Anasco
71
- geo:
72
- latitude: 18.28134
73
- longitude: -67.1274
74
- min_latitude:
75
- min_longitude:
76
- max_latitude:
77
- max_longitude:
78
- name: Anasco
79
- comments:
80
- '7':
81
- unofficial_names: Arecibo
82
- translations:
83
- en: Arecibo
84
- geo:
85
- latitude: 18.40411
86
- longitude: -66.67462
87
- min_latitude:
88
- min_longitude:
89
- max_latitude:
90
- max_longitude:
91
- name: Arecibo
92
- comments:
93
- '8':
94
- unofficial_names: Arroyo
95
- translations:
96
- en: Arroyo
97
- geo:
98
- latitude: 18.0008
99
- longitude: -66.05794
100
- min_latitude:
101
- min_longitude:
102
- max_latitude:
103
- max_longitude:
104
- name: Arroyo
105
- comments:
106
- '9':
107
- unofficial_names: Barceloneta
108
- translations:
109
- en: Barceloneta
110
- geo:
111
- latitude: 18.45633
112
- longitude: -66.54128
113
- min_latitude:
114
- min_longitude:
115
- max_latitude:
116
- max_longitude:
117
- name: Barceloneta
118
- comments:
119
- '10':
120
- unofficial_names: Barranquitas
121
- translations:
122
- en: Barranquitas
123
- geo:
124
- latitude: 18.20357
125
- longitude: -66.31211
126
- min_latitude:
127
- min_longitude:
128
- max_latitude:
129
- max_longitude:
130
- name: Barranquitas
131
- comments:
132
- '11':
133
- unofficial_names: Bayamon
134
- translations:
135
- en: Bayamon
136
- geo:
137
- latitude: 18.35217
138
- longitude: -66.17044
139
- min_latitude:
140
- min_longitude:
141
- max_latitude:
142
- max_longitude:
143
- name: Bayamon
144
- comments:
145
- '12':
146
- unofficial_names: Cabo Rojo
147
- translations:
148
- en: Cabo Rojo
149
- geo:
150
- latitude: 18.05635
151
- longitude: -67.14685
152
- min_latitude:
153
- min_longitude:
154
- max_latitude:
155
- max_longitude:
156
- name: Cabo Rojo
157
- comments:
158
- '13':
159
- unofficial_names: Caguas
160
- translations:
161
- en: Caguas
162
- geo:
163
- latitude: 18.21329
164
- longitude: -66.04961
165
- min_latitude:
166
- min_longitude:
167
- max_latitude:
168
- max_longitude:
169
- name: Caguas
170
- comments:
171
- '14':
172
- unofficial_names: Camuy
173
- translations:
174
- en: Camuy
175
- geo:
176
- latitude: 18.42578
177
- longitude: -66.85934
178
- min_latitude:
179
- min_longitude:
180
- max_latitude:
181
- max_longitude:
182
- name: Camuy
183
- comments:
184
- '15':
185
- unofficial_names: Canovanas
186
- translations:
187
- en: Canovanas
188
- geo:
189
- latitude: 18.33828
190
- longitude: -65.88711
191
- min_latitude:
192
- min_longitude:
193
- max_latitude:
194
- max_longitude:
195
- name: Canovanas
196
- comments:
197
- '16':
198
- unofficial_names: Carolina
199
- translations:
200
- en: Carolina
201
- geo:
202
- latitude: 18.37578
203
- longitude: -65.95794
204
- min_latitude:
205
- min_longitude:
206
- max_latitude:
207
- max_longitude:
208
- name: Carolina
209
- comments:
210
- '17':
211
- unofficial_names: Catano
212
- translations:
213
- en: Catano
214
- geo:
215
- latitude: 18.4355
216
- longitude: -66.13711
217
- min_latitude:
218
- min_longitude:
219
- max_latitude:
220
- max_longitude:
221
- name: Catano
222
- comments:
223
- '18':
224
- unofficial_names: Cayey
225
- translations:
226
- en: Cayey
227
- geo:
228
- latitude: 18.10357
229
- longitude: -66.15378
230
- min_latitude:
231
- min_longitude:
232
- max_latitude:
233
- max_longitude:
234
- name: Cayey
235
- comments:
236
- '19':
237
- unofficial_names: Ceiba
238
- translations:
239
- en: Ceiba
240
- geo:
241
- latitude: 18.26051
242
- longitude: -65.67183
243
- min_latitude:
244
- min_longitude:
245
- max_latitude:
246
- max_longitude:
247
- name: Ceiba
248
- comments:
249
- '20':
250
- unofficial_names: Ciales
251
- translations:
252
- en: Ciales
253
- geo:
254
- latitude: 18.29162
255
- longitude: -66.51628
256
- min_latitude:
257
- min_longitude:
258
- max_latitude:
259
- max_longitude:
260
- name: Ciales
261
- comments:
262
- '21':
263
- unofficial_names: Cidra
264
- translations:
265
- en: Cidra
266
- geo:
267
- latitude: 18.17579
268
- longitude: -66.16211
269
- min_latitude:
270
- min_longitude:
271
- max_latitude:
272
- max_longitude:
273
- name: Cidra
274
- comments:
275
- '22':
276
- unofficial_names: Coamo
277
- translations:
278
- en: Coamo
279
- geo:
280
- latitude: 18.09802
281
- longitude: -66.36211
282
- min_latitude:
283
- min_longitude:
284
- max_latitude:
285
- max_longitude:
286
- name: Coamo
287
- comments:
288
- '23':
289
- unofficial_names: Comerio
290
- translations:
291
- en: Comerio
292
- geo:
293
- latitude: 18.22718
294
- longitude: -66.22183
295
- min_latitude:
296
- min_longitude:
297
- max_latitude:
298
- max_longitude:
299
- name: Comerio
300
- comments:
301
- '24':
302
- unofficial_names: Corozal
303
- translations:
304
- en: Corozal
305
- geo:
306
- latitude: 18.30912
307
- longitude: -66.326
308
- min_latitude:
309
- min_longitude:
310
- max_latitude:
311
- max_longitude:
312
- name: Corozal
313
- comments:
314
- '25':
315
- unofficial_names: Culebra
316
- translations:
317
- en: Culebra
318
- geo:
319
- latitude: 18.31884
320
- longitude: -65.2871
321
- min_latitude:
322
- min_longitude:
323
- max_latitude:
324
- max_longitude:
325
- name: Culebra
326
- comments:
327
- '26':
328
- unofficial_names: Dorado
329
- translations:
330
- en: Dorado
331
- geo:
332
- latitude: 18.43967
333
- longitude: -66.28295
334
- min_latitude:
335
- min_longitude:
336
- max_latitude:
337
- max_longitude:
338
- name: Dorado
339
- comments:
340
- '27':
341
- unofficial_names: Fajardo
342
- translations:
343
- en: Fajardo
344
- geo:
345
- latitude: 18.31051
346
- longitude: -65.676
347
- min_latitude:
348
- min_longitude:
349
- max_latitude:
350
- max_longitude:
351
- name: Fajardo
352
- comments:
353
- '28':
354
- unofficial_names: Florida
355
- translations:
356
- en: Florida
357
- geo:
358
- latitude: 18.36051
359
- longitude: -66.56212
360
- min_latitude:
361
- min_longitude:
362
- max_latitude:
363
- max_longitude:
364
- name: Florida
365
- comments:
366
- '29':
367
- unofficial_names: Guanica
368
- translations:
369
- en: Guanica
370
- geo:
371
- latitude: 17.9883
372
- longitude: -66.91212
373
- min_latitude:
374
- min_longitude:
375
- max_latitude:
376
- max_longitude:
377
- name: Guanica
378
- comments:
379
- '30':
380
- unofficial_names: Guayama
381
- translations:
382
- en: Guayama
383
- geo:
384
- latitude: 18.01663
385
- longitude: -66.13072
386
- min_latitude:
387
- min_longitude:
388
- max_latitude:
389
- max_longitude:
390
- name: Guayama
391
- comments:
392
- '31':
393
- unofficial_names: Guayanilla
394
- translations:
395
- en: Guayanilla
396
- geo:
397
- latitude: 18.05413
398
- longitude: -66.7899
399
- min_latitude:
400
- min_longitude:
401
- max_latitude:
402
- max_longitude:
403
- name: Guayanilla
404
- comments:
405
- '32':
406
- unofficial_names: Guaynabo
407
- translations:
408
- en: Guaynabo
409
- geo:
410
- latitude: 18.34106
411
- longitude: -66.11628
412
- min_latitude:
413
- min_longitude:
414
- max_latitude:
415
- max_longitude:
416
- name: Guaynabo
417
- comments:
418
- '33':
419
- unofficial_names: Gurabo
420
- translations:
421
- en: Gurabo
422
- geo:
423
- latitude: 18.27162
424
- longitude: -65.97183
425
- min_latitude:
426
- min_longitude:
427
- max_latitude:
428
- max_longitude:
429
- name: Gurabo
430
- comments:
431
- '34':
432
- unofficial_names: Hatillo
433
- translations:
434
- en: Hatillo
435
- geo:
436
- latitude: 18.40773
437
- longitude: -66.79323
438
- min_latitude:
439
- min_longitude:
440
- max_latitude:
441
- max_longitude:
442
- name: Hatillo
443
- comments:
444
- '35':
445
- unofficial_names: Hormigueros
446
- translations:
447
- en: Hormigueros
448
- geo:
449
- latitude: 18.14162
450
- longitude: -67.11629
451
- min_latitude:
452
- min_longitude:
453
- max_latitude:
454
- max_longitude:
455
- name: Hormigueros
456
- comments:
457
- '36':
458
- unofficial_names: Humacao
459
- translations:
460
- en: Humacao
461
- geo:
462
- latitude: 18.14802
463
- longitude: -65.81211
464
- min_latitude:
465
- min_longitude:
466
- max_latitude:
467
- max_longitude:
468
- name: Humacao
469
- comments:
470
- '37':
471
- unofficial_names: Isabela
472
- translations:
473
- en: Isabela
474
- geo:
475
- latitude: 18.50078
476
- longitude: -67.02435
477
- min_latitude:
478
- min_longitude:
479
- max_latitude:
480
- max_longitude:
481
- name: Isabela
482
- comments:
483
- '38':
484
- unofficial_names: Jayuya
485
- translations:
486
- en: Jayuya
487
- geo:
488
- latitude: 18.21857
489
- longitude: -66.59156
490
- min_latitude:
491
- min_longitude:
492
- max_latitude:
493
- max_longitude:
494
- name: Jayuya
495
- comments:
496
- '39':
497
- unofficial_names: Juana Diaz
498
- translations:
499
- en: Juana Diaz
500
- geo:
501
- latitude: 18.04802
502
- longitude: -66.49267
503
- min_latitude:
504
- min_longitude:
505
- max_latitude:
506
- max_longitude:
507
- name: Juana Diaz
508
- comments:
509
- '40':
510
- unofficial_names: Juncos
511
- translations:
512
- en: Juncos
513
- geo:
514
- latitude: 18.22746
515
- longitude: -65.921
516
- min_latitude:
517
- min_longitude:
518
- max_latitude:
519
- max_longitude:
520
- name: Juncos
521
- comments:
522
- '41':
523
- unofficial_names: Lajas
524
- translations:
525
- en: Lajas
526
- geo:
527
- latitude: 18.0133
528
- longitude: -67.0399
529
- min_latitude:
530
- min_longitude:
531
- max_latitude:
532
- max_longitude:
533
- name: Lajas
534
- comments:
535
- '42':
536
- unofficial_names: Lares
537
- translations:
538
- en: Lares
539
- geo:
540
- latitude: 18.27023
541
- longitude: -66.86907
542
- min_latitude:
543
- min_longitude:
544
- max_latitude:
545
- max_longitude:
546
- name: Lares
547
- comments:
548
- '43':
549
- unofficial_names: Las Marias
550
- translations:
551
- en: Las Marias
552
- geo:
553
- latitude: 18.25087
554
- longitude: -66.9924
555
- min_latitude:
556
- min_longitude:
557
- max_latitude:
558
- max_longitude:
559
- name: Las Marias
560
- comments:
561
- '44':
562
- unofficial_names: Las Piedras
563
- translations:
564
- en: Las Piedras
565
- geo:
566
- latitude: 18.18829
567
- longitude: -65.87044
568
- min_latitude:
569
- min_longitude:
570
- max_latitude:
571
- max_longitude:
572
- name: Las Piedras
573
- comments:
574
- '45':
575
- unofficial_names: Loiza
576
- translations:
577
- en: Loiza
578
- geo:
579
- latitude: 18.43411
580
- longitude: -65.89266
581
- min_latitude:
582
- min_longitude:
583
- max_latitude:
584
- max_longitude:
585
- name: Loiza
586
- comments:
587
- '46':
588
- unofficial_names: Luquillo
589
- translations:
590
- en: Luquillo
591
- geo:
592
- latitude: 18.33967
593
- longitude: -65.72461
594
- min_latitude:
595
- min_longitude:
596
- max_latitude:
597
- max_longitude:
598
- name: Luquillo
599
- comments:
600
- '47':
601
- unofficial_names: Manati
602
- translations:
603
- en: Manati
604
- geo:
605
- latitude: 18.41884
606
- longitude: -66.49267
607
- min_latitude:
608
- min_longitude:
609
- max_latitude:
610
- max_longitude:
611
- name: Manati
612
- comments:
613
- '48':
614
- unofficial_names: Maricao
615
- translations:
616
- en: Maricao
617
- geo:
618
- latitude: 18.17301
619
- longitude: -66.94546
620
- min_latitude:
621
- min_longitude:
622
- max_latitude:
623
- max_longitude:
624
- name: Maricao
625
- comments:
626
- '49':
627
- unofficial_names: Maunabo
628
- translations:
629
- en: Maunabo
630
- geo:
631
- latitude: 18.01691
632
- longitude: -65.92738
633
- min_latitude:
634
- min_longitude:
635
- max_latitude:
636
- max_longitude:
637
- name: Maunabo
638
- comments:
639
- '50':
640
- unofficial_names: Mayaguez
641
- translations:
642
- en: Mayaguez
643
- geo:
644
- latitude: 18.20496
645
- longitude: -67.1024
646
- min_latitude:
647
- min_longitude:
648
- max_latitude:
649
- max_longitude:
650
- name: Mayaguez
651
- comments:
652
- '51':
653
- unofficial_names: Moca
654
- translations:
655
- en: Moca
656
- geo:
657
- latitude: 18.3855
658
- longitude: -67.08435
659
- min_latitude:
660
- min_longitude:
661
- max_latitude:
662
- max_longitude:
663
- name: Moca
664
- comments:
665
- '52':
666
- unofficial_names: Morovis
667
- translations:
668
- en: Morovis
669
- geo:
670
- latitude: 18.31884
671
- longitude: -66.41767
672
- min_latitude:
673
- min_longitude:
674
- max_latitude:
675
- max_longitude:
676
- name: Morovis
677
- comments:
678
- '53':
679
- unofficial_names: Naguabo
680
- translations:
681
- en: Naguabo
682
- geo:
683
- latitude: 18.23135
684
- longitude: -65.75988
685
- min_latitude:
686
- min_longitude:
687
- max_latitude:
688
- max_longitude:
689
- name: Naguabo
690
- comments:
691
- '54':
692
- unofficial_names: Naranjito
693
- translations:
694
- en: Naranjito
695
- geo:
696
- latitude: 18.28968
697
- longitude: -66.25517
698
- min_latitude:
699
- min_longitude:
700
- max_latitude:
701
- max_longitude:
702
- name: Naranjito
703
- comments:
704
- '55':
705
- unofficial_names: Orocovis
706
- translations:
707
- en: Orocovis
708
- geo:
709
- latitude: 18.21885
710
- longitude: -66.43712
711
- min_latitude:
712
- min_longitude:
713
- max_latitude:
714
- max_longitude:
715
- name: Orocovis
716
- comments:
717
- '56':
718
- unofficial_names: Patillas
719
- translations:
720
- en: Patillas
721
- geo:
722
- latitude: 18.04163
723
- longitude: -66.01766
724
- min_latitude:
725
- min_longitude:
726
- max_latitude:
727
- max_longitude:
728
- name: Patillas
729
- comments:
730
- '57':
731
- unofficial_names: Penuelas
732
- translations:
733
- en: Penuelas
734
- geo:
735
- latitude: 18.07024
736
- longitude: -66.71767
737
- min_latitude:
738
- min_longitude:
739
- max_latitude:
740
- max_longitude:
741
- name: Penuelas
742
- comments:
743
- '58':
744
- unofficial_names: Ponce
745
- translations:
746
- en: Ponce
747
- geo:
748
- latitude: 18.07302
749
- longitude: -66.61851
750
- min_latitude:
751
- min_longitude:
752
- max_latitude:
753
- max_longitude:
754
- name: Ponce
755
- comments:
756
- '59':
757
- unofficial_names: Quebradillas
758
- translations:
759
- en: Quebradillas
760
- geo:
761
- latitude: 18.43967
762
- longitude: -66.92462
763
- min_latitude:
764
- min_longitude:
765
- max_latitude:
766
- max_longitude:
767
- name: Quebradillas
768
- comments:
769
- '60':
770
- unofficial_names: Rincon
771
- translations:
772
- en: Rincon
773
- geo:
774
- latitude: 18.33967
775
- longitude: -67.23713
776
- min_latitude:
777
- min_longitude:
778
- max_latitude:
779
- max_longitude:
780
- name: Rincon
781
- comments:
782
- '61':
783
- unofficial_names: Rio Grande
784
- translations:
785
- en: Rio Grande
786
- geo:
787
- latitude: 18.34162
788
- longitude: -65.81766
789
- min_latitude:
790
- min_longitude:
791
- max_latitude:
792
- max_longitude:
793
- name: Rio Grande
794
- comments:
795
- '62':
796
- unofficial_names: Sabana Grande
797
- translations:
798
- en: Sabana Grande
799
- geo:
800
- latitude: 18.09385
801
- longitude: -66.94962
802
- min_latitude:
803
- min_longitude:
804
- max_latitude:
805
- max_longitude:
806
- name: Sabana Grande
807
- comments:
808
- '63':
809
- unofficial_names: Salinas
810
- translations:
811
- en: Salinas
812
- geo:
813
- latitude: 18.01746
814
- longitude: -66.25378
815
- min_latitude:
816
- min_longitude:
817
- max_latitude:
818
- max_longitude:
819
- name: Salinas
820
- comments:
821
- '64':
822
- unofficial_names: San German
823
- translations:
824
- en: San German
825
- geo:
826
- latitude: 18.11468
827
- longitude: -67.03573
828
- min_latitude:
829
- min_longitude:
830
- max_latitude:
831
- max_longitude:
832
- name: San German
833
- comments:
834
- '65':
835
- unofficial_names: San Juan
836
- translations:
837
- en: San Juan
838
- geo:
839
- latitude: 18.45095
840
- longitude: -66.09169
841
- min_latitude:
842
- min_longitude:
843
- max_latitude:
844
- max_longitude:
845
- name: San Juan
846
- comments:
847
- '66':
848
- unofficial_names: San Lorenzo
849
- translations:
850
- en: San Lorenzo
851
- geo:
852
- latitude: 18.15496
853
- longitude: -65.97461
854
- min_latitude:
855
- min_longitude:
856
- max_latitude:
857
- max_longitude:
858
- name: San Lorenzo
859
- comments:
860
- '67':
861
- unofficial_names: San Sebastian
862
- translations:
863
- en: San Sebastian
864
- geo:
865
- latitude: 18.32912
866
- longitude: -66.97462
867
- min_latitude:
868
- min_longitude:
869
- max_latitude:
870
- max_longitude:
871
- name: San Sebastian
872
- comments:
873
- '68':
874
- unofficial_names: Santa Isabel
875
- translations:
876
- en: Santa Isabel
877
- geo:
878
- latitude: 17.99663
879
- longitude: -66.38711
880
- min_latitude:
881
- min_longitude:
882
- max_latitude:
883
- max_longitude:
884
- name: Santa Isabel
885
- comments:
886
- '69':
887
- unofficial_names: Toa Alta
888
- translations:
889
- en: Toa Alta
890
- geo:
891
- latitude: 18.36606
892
- longitude: -66.25378
893
- min_latitude:
894
- min_longitude:
895
- max_latitude:
896
- max_longitude:
897
- name: Toa Alta
898
- comments:
899
- '70':
900
- unofficial_names: Toa Baja
901
- translations:
902
- en: Toa Baja
903
- geo:
904
- latitude: 18.43176
905
- longitude: -66.21291
906
- min_latitude:
907
- min_longitude:
908
- max_latitude:
909
- max_longitude:
910
- name: Toa Baja
911
- comments:
912
- '71':
913
- unofficial_names: Trujillo Alto
914
- translations:
915
- en: Trujillo Alto
916
- geo:
917
- latitude: 18.34162
918
- longitude: -66.00517
919
- min_latitude:
920
- min_longitude:
921
- max_latitude:
922
- max_longitude:
923
- name: Trujillo Alto
924
- comments:
925
- '72':
926
- unofficial_names: Utuado
927
- translations:
928
- en: Utuado
929
- geo:
930
- latitude: 18.27301
931
- longitude: -66.69962
932
- min_latitude:
933
- min_longitude:
934
- max_latitude:
935
- max_longitude:
936
- name: Utuado
937
- comments:
938
- '73':
939
- unofficial_names: Vega Alta
940
- translations:
941
- en: Vega Alta
942
- geo:
943
- latitude: 18.4105
944
- longitude: -66.33295
945
- min_latitude:
946
- min_longitude:
947
- max_latitude:
948
- max_longitude:
949
- name: Vega Alta
950
- comments:
951
- '74':
952
- unofficial_names: Vega Baja
953
- translations:
954
- en: Vega Baja
955
- geo:
956
- latitude: 18.42578
957
- longitude: -66.39961
958
- min_latitude:
959
- min_longitude:
960
- max_latitude:
961
- max_longitude:
962
- name: Vega Baja
963
- comments:
964
- '75':
965
- unofficial_names: Vieques
966
- translations:
967
- en: Vieques
968
- geo:
969
- latitude: 18.12913
970
- longitude: -65.4371
971
- min_latitude:
972
- min_longitude:
973
- max_latitude:
974
- max_longitude:
975
- name: Vieques
976
- comments:
977
- '76':
978
- unofficial_names: Villalba
979
- translations:
980
- en: Villalba
981
- geo:
982
- latitude: 18.12913
983
- longitude: -66.47739
984
- min_latitude:
985
- min_longitude:
986
- max_latitude:
987
- max_longitude:
988
- name: Villalba
989
- comments:
990
- '77':
991
- unofficial_names: Yabucoa
992
- translations:
993
- en: Yabucoa
994
- geo:
995
- latitude: 18.07302
996
- longitude: -65.88711
997
- min_latitude:
998
- min_longitude:
999
- max_latitude:
1000
- max_longitude:
1001
- name: Yabucoa
1002
- comments:
1003
- '78':
1004
- unofficial_names: Yauco
1005
- translations:
1006
- en: Yauco
1007
- geo:
1008
- latitude: 18.07857
1009
- longitude: -66.85518
1010
- min_latitude:
1011
- min_longitude:
1012
- max_latitude:
1013
- max_longitude:
1014
- name: Yauco
1015
- comments: