region-spotter 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (417) hide show
  1. checksums.yaml +15 -0
  2. data/CHANGELOG.mdown +10 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +42 -0
  5. data/README.mdown +64 -0
  6. data/Rakefile +26 -0
  7. data/app.gemspec +19 -0
  8. data/data/argentina/misiones.rb +9 -0
  9. data/data/australia/new_south_wales.rb +16 -0
  10. data/data/australia/queensland.rb +8 -0
  11. data/data/australia/western.rb +8 -0
  12. data/data/belgium/wallonia.rb +8 -0
  13. data/data/bermuda/ireland_island.rb +4 -0
  14. data/data/bolivia/cochabamba.rb +8 -0
  15. data/data/bolivia/santa_cruz.rb +8 -0
  16. data/data/brazil/amazonas.rb +4 -0
  17. data/data/brazil/mato_grosso_do_sul.rb +8 -0
  18. data/data/brazil/parana.rb +9 -0
  19. data/data/brazil/sao_paulo.rb +9 -0
  20. data/data/bulgaria/montana.rb +8 -0
  21. data/data/canada/alberta.rb +20 -0
  22. data/data/canada/british_columbia.rb +9 -0
  23. data/data/canada/manitoba.rb +7 -0
  24. data/data/canada/new_brunswick.rb +4 -0
  25. data/data/canada/newfoundland_and_labrador.rb +8 -0
  26. data/data/canada/northwest_territories.rb +4 -0
  27. data/data/canada/nova_scotia.rb +5 -0
  28. data/data/canada/nunavut.rb +5 -0
  29. data/data/canada/ontario.rb +28 -0
  30. data/data/canada/prince_edward_island.rb +5 -0
  31. data/data/canada/quebec.rb +3 -0
  32. data/data/canada/saskatchewan.rb +5 -0
  33. data/data/canada/yukon.rb +5 -0
  34. data/data/chile/bio_bio.rb +25 -0
  35. data/data/colombia/amazonas.rb +4 -0
  36. data/data/colombia/caqueta.rb +9 -0
  37. data/data/colombia/meta.rb +9 -0
  38. data/data/colombia/valle_del_cauca.rb +9 -0
  39. data/data/costa_rica/guanacaste.rb +8 -0
  40. data/data/cuba/camaguey.rb +9 -0
  41. data/data/cuba/ciego_de_avila.rb +8 -0
  42. data/data/cuba/las_tunas.rb +10 -0
  43. data/data/cuba/matanzas.rb +9 -0
  44. data/data/france/burgundy.rb +8 -0
  45. data/data/honduras/copan.rb +8 -0
  46. data/data/honduras/santa_barbara.rb +8 -0
  47. data/data/hong_kong/yau_tsim_mong.rb +8 -0
  48. data/data/india/andra_pradesh.rb +8 -0
  49. data/data/india/bihar.rb +12 -0
  50. data/data/iran/semnan.rb +19 -0
  51. data/data/italy/all.rb +4 -0
  52. data/data/japan/kagoshima.rb +8 -0
  53. data/data/kiribati/kirimati.rb +13 -0
  54. data/data/liberia/maryland.rb +8 -0
  55. data/data/malaysia/pahang.rb +4 -0
  56. data/data/mexico/nuevo_leon.rb +13 -0
  57. data/data/mexico/sinaloa.rb +8 -0
  58. data/data/nigeria/lagos.rb +8 -0
  59. data/data/northern_mariana_islands/saipan.rb +9 -0
  60. data/data/papua_new_guinea/new_ireland.rb +4 -0
  61. data/data/peru/amazonas.rb +15 -0
  62. data/data/philippines/guimaras.rb +7 -0
  63. data/data/philippines/pampanga.rb +10 -0
  64. data/data/poland/lubusz.rb +8 -0
  65. data/data/portugal/beja.rb +10 -0
  66. data/data/puerto_rico/florida.rb +5 -0
  67. data/data/regions.rb +480 -0
  68. data/data/solomon_islands/central.rb +8 -0
  69. data/data/solomon_islands/western.rb +9 -0
  70. data/data/south_africa/eastern_cape.rb +8 -0
  71. data/data/south_africa/gauteng.rb +4 -0
  72. data/data/south_africa/limpopo.rb +8 -0
  73. data/data/spain/aragon.rb +15 -0
  74. data/data/spain/canary_islands.rb +14 -0
  75. data/data/switzerland/valais.rb +12 -0
  76. data/data/united_kingdom/england.rb +52 -0
  77. data/data/united_kingdom/england/bedfordshire.rb +240 -0
  78. data/data/united_kingdom/england/berkshire.rb +17 -0
  79. data/data/united_kingdom/england/buckinghamshire.rb +23 -0
  80. data/data/united_kingdom/england/cambridgeshire.rb +17 -0
  81. data/data/united_kingdom/england/cheshire.rb +23 -0
  82. data/data/united_kingdom/england/cornwall.rb +47 -0
  83. data/data/united_kingdom/england/cumbria.rb +36 -0
  84. data/data/united_kingdom/england/derbyshire.rb +39 -0
  85. data/data/united_kingdom/england/devon.rb +51 -0
  86. data/data/united_kingdom/england/dorset.rb +25 -0
  87. data/data/united_kingdom/england/durham.rb +26 -0
  88. data/data/united_kingdom/england/east_riding_of_yorkshire.rb +17 -0
  89. data/data/united_kingdom/england/east_sussex.rb +24 -0
  90. data/data/united_kingdom/england/essex.rb +67 -0
  91. data/data/united_kingdom/england/gloucestershire.rb +35 -0
  92. data/data/united_kingdom/england/greater_manchester.rb +56 -0
  93. data/data/united_kingdom/england/hampshire.rb +36 -0
  94. data/data/united_kingdom/england/herefordshire.rb +9 -0
  95. data/data/united_kingdom/england/hertfordshire.rb +27 -0
  96. data/data/united_kingdom/england/isle_of_wight.rb +14 -0
  97. data/data/united_kingdom/england/kent.rb +45 -0
  98. data/data/united_kingdom/england/lancashire.rb +39 -0
  99. data/data/united_kingdom/england/leicestershire.rb +17 -0
  100. data/data/united_kingdom/england/lincolnshire.rb +42 -0
  101. data/data/united_kingdom/england/merseyside.rb +25 -0
  102. data/data/united_kingdom/england/norfolk.rb +32 -0
  103. data/data/united_kingdom/england/north_yorkshire.rb +46 -0
  104. data/data/united_kingdom/england/northamptonshire.rb +20 -0
  105. data/data/united_kingdom/england/northumberland.rb +18 -0
  106. data/data/united_kingdom/england/nottinghamshire.rb +28 -0
  107. data/data/united_kingdom/england/oxfordshire.rb +23 -0
  108. data/data/united_kingdom/england/rutland.rb +6 -0
  109. data/data/united_kingdom/england/shropshire.rb +26 -0
  110. data/data/united_kingdom/england/somerset.rb +19 -0
  111. data/data/united_kingdom/england/south_gloucestershire.rb +4 -0
  112. data/data/united_kingdom/england/south_yorkshire.rb +25 -0
  113. data/data/united_kingdom/england/staffordshire.rb +29 -0
  114. data/data/united_kingdom/england/suffolk.rb +32 -0
  115. data/data/united_kingdom/england/surrey.rb +33 -0
  116. data/data/united_kingdom/england/tyne_and_wear.rb +31 -0
  117. data/data/united_kingdom/england/warwickshire.rb +14 -0
  118. data/data/united_kingdom/england/west_midlands.rb +39 -0
  119. data/data/united_kingdom/england/west_sussex.rb +20 -0
  120. data/data/united_kingdom/england/west_yorkshire.rb +46 -0
  121. data/data/united_kingdom/england/wiltshire.rb +24 -0
  122. data/data/united_kingdom/england/worcestershire.rb +17 -0
  123. data/data/united_kingdom/england/yorkshire.rb +4 -0
  124. data/data/united_kingdom/wales.rb +8 -0
  125. data/data/united_states/alabama.rb +13 -0
  126. data/data/united_states/alaska.rb +9 -0
  127. data/data/united_states/arizona.rb +9 -0
  128. data/data/united_states/arkansas.rb +306 -0
  129. data/data/united_states/arkansas/arkansas/all.rb +17 -0
  130. data/data/united_states/arkansas/ashley/all.rb +12 -0
  131. data/data/united_states/arkansas/baxter/all.rb +16 -0
  132. data/data/united_states/arkansas/benton/all.rb +35 -0
  133. data/data/united_states/arkansas/boone/all.rb +17 -0
  134. data/data/united_states/arkansas/bradley/all.rb +11 -0
  135. data/data/united_states/arkansas/calhoun/all.rb +4 -0
  136. data/data/united_states/arkansas/carroll/all.rb +11 -0
  137. data/data/united_states/arkansas/chicot/all.rb +8 -0
  138. data/data/united_states/arkansas/clark/all.rb +11 -0
  139. data/data/united_states/arkansas/clay/all.rb +15 -0
  140. data/data/united_states/arkansas/cleburne/all.rb +14 -0
  141. data/data/united_states/arkansas/cleveland/all.rb +7 -0
  142. data/data/united_states/arkansas/columbia/all.rb +9 -0
  143. data/data/united_states/arkansas/conway/all.rb +14 -0
  144. data/data/united_states/arkansas/craighead/all.rb +16 -0
  145. data/data/united_states/arkansas/crawford/all.rb +15 -0
  146. data/data/united_states/arkansas/crittenden/all.rb +15 -0
  147. data/data/united_states/arkansas/cross/all.rb +10 -0
  148. data/data/united_states/arkansas/dallas/all.rb +5 -0
  149. data/data/united_states/arkansas/desha/all.rb +15 -0
  150. data/data/united_states/arkansas/drew/all.rb +10 -0
  151. data/data/united_states/arkansas/faulkner/all.rb +15 -0
  152. data/data/united_states/arkansas/franklin/all.rb +9 -0
  153. data/data/united_states/arkansas/fulton/all.rb +15 -0
  154. data/data/united_states/arkansas/garland/all.rb +17 -0
  155. data/data/united_states/arkansas/grant/all.rb +6 -0
  156. data/data/united_states/arkansas/greene/all.rb +12 -0
  157. data/data/united_states/arkansas/hempstead/all.rb +14 -0
  158. data/data/united_states/arkansas/hot_spring/all.rb +12 -0
  159. data/data/united_states/arkansas/howard/all.rb +12 -0
  160. data/data/united_states/arkansas/independence/all.rb +21 -0
  161. data/data/united_states/arkansas/izard/all.rb +17 -0
  162. data/data/united_states/arkansas/jackson/all.rb +15 -0
  163. data/data/united_states/arkansas/jefferson/all.rb +17 -0
  164. data/data/united_states/arkansas/johnson/all.rb +13 -0
  165. data/data/united_states/arkansas/lafayette/all.rb +6 -0
  166. data/data/united_states/arkansas/lawrence/all.rb +17 -0
  167. data/data/united_states/arkansas/lee/all.rb +9 -0
  168. data/data/united_states/arkansas/lincoln/all.rb +7 -0
  169. data/data/united_states/arkansas/little_river/all.rb +7 -0
  170. data/data/united_states/arkansas/logan/all.rb +17 -0
  171. data/data/united_states/arkansas/lonoke/all.rb +18 -0
  172. data/data/united_states/arkansas/madison/all.rb +15 -0
  173. data/data/united_states/arkansas/marion/all.rb +10 -0
  174. data/data/united_states/arkansas/miller/all.rb +13 -0
  175. data/data/united_states/arkansas/mississippi/all.rb +36 -0
  176. data/data/united_states/arkansas/monroe/all.rb +11 -0
  177. data/data/united_states/arkansas/montgomery/all.rb +12 -0
  178. data/data/united_states/arkansas/nevada/all.rb +11 -0
  179. data/data/united_states/arkansas/newton/all.rb +13 -0
  180. data/data/united_states/arkansas/ouachita/all.rb +10 -0
  181. data/data/united_states/arkansas/perry/all.rb +8 -0
  182. data/data/united_states/arkansas/phillips/all.rb +20 -0
  183. data/data/united_states/arkansas/pike/all.rb +10 -0
  184. data/data/united_states/arkansas/poinsett/all.rb +17 -0
  185. data/data/united_states/arkansas/polk/all.rb +14 -0
  186. data/data/united_states/arkansas/pope/all.rb +50 -0
  187. data/data/united_states/arkansas/prairie/all.rb +8 -0
  188. data/data/united_states/arkansas/pulaski/all.rb +26 -0
  189. data/data/united_states/arkansas/randolph/all.rb +7 -0
  190. data/data/united_states/arkansas/saline/all.rb +16 -0
  191. data/data/united_states/arkansas/scott/all.rb +10 -0
  192. data/data/united_states/arkansas/searcy/all.rb +12 -0
  193. data/data/united_states/arkansas/sebastian/all.rb +11 -0
  194. data/data/united_states/arkansas/sevier/all.rb +6 -0
  195. data/data/united_states/arkansas/sharp/all.rb +13 -0
  196. data/data/united_states/arkansas/st_francis/all.rb +14 -0
  197. data/data/united_states/arkansas/stone/all.rb +20 -0
  198. data/data/united_states/arkansas/union/all.rb +14 -0
  199. data/data/united_states/arkansas/van_buren/all.rb +15 -0
  200. data/data/united_states/arkansas/washington/all.rb +70 -0
  201. data/data/united_states/arkansas/white/all.rb +26 -0
  202. data/data/united_states/arkansas/woodruff/all.rb +7 -0
  203. data/data/united_states/arkansas/yell/all.rb +20 -0
  204. data/data/united_states/california.rb +348 -0
  205. data/data/united_states/california/alameda/all.rb +55 -0
  206. data/data/united_states/california/alpine/all.rb +39 -0
  207. data/data/united_states/california/amador/all.rb +114 -0
  208. data/data/united_states/california/butte/all.rb +90 -0
  209. data/data/united_states/california/calaveras/all.rb +54 -0
  210. data/data/united_states/california/colusa/all.rb +27 -0
  211. data/data/united_states/california/contra_costa/all.rb +171 -0
  212. data/data/united_states/california/del_norte/all.rb +33 -0
  213. data/data/united_states/california/el_dorado/all.rb +90 -0
  214. data/data/united_states/california/fresno/all.rb +147 -0
  215. data/data/united_states/california/glenn/all.rb +21 -0
  216. data/data/united_states/california/humbolt/all.rb +186 -0
  217. data/data/united_states/california/imperial/all.rb +102 -0
  218. data/data/united_states/california/inyo/all.rb +63 -0
  219. data/data/united_states/california/kern/all.rb +186 -0
  220. data/data/united_states/california/kings/all.rb +54 -0
  221. data/data/united_states/california/lake/all.rb +54 -0
  222. data/data/united_states/california/lassen/all.rb +54 -0
  223. data/data/united_states/california/los_angeles/all.rb +267 -0
  224. data/data/united_states/california/madera/all.rb +63 -0
  225. data/data/united_states/california/marin/all.rb +120 -0
  226. data/data/united_states/california/mariposa/all.rb +63 -0
  227. data/data/united_states/california/mendocino/all.rb +111 -0
  228. data/data/united_states/california/merced/all.rb +72 -0
  229. data/data/united_states/california/modoc/all.rb +48 -0
  230. data/data/united_states/california/mono/all.rb +48 -0
  231. data/data/united_states/california/monterey/all.rb +96 -0
  232. data/data/united_states/california/napa/all.rb +171 -0
  233. data/data/united_states/california/nevada/all.rb +168 -0
  234. data/data/united_states/california/orange/all.rb +159 -0
  235. data/data/united_states/california/placer/all.rb +243 -0
  236. data/data/united_states/california/plumas/all.rb +228 -0
  237. data/data/united_states/california/riverside/all.rb +342 -0
  238. data/data/united_states/california/sacramento/all.rb +118 -0
  239. data/data/united_states/california/san_benito/all.rb +37 -0
  240. data/data/united_states/california/san_bernardino/all.rb +345 -0
  241. data/data/united_states/california/san_diego/all.rb +237 -0
  242. data/data/united_states/california/san_joaquin/all.rb +121 -0
  243. data/data/united_states/california/san_luis_obispo/all.rb +127 -0
  244. data/data/united_states/california/san_mateo/all.rb +115 -0
  245. data/data/united_states/california/santa_barbara/all.rb +91 -0
  246. data/data/united_states/california/santa_clara/all.rb +112 -0
  247. data/data/united_states/california/santa_cruz/all.rb +102 -0
  248. data/data/united_states/california/shasta/all.rb +102 -0
  249. data/data/united_states/california/sierra/all.rb +66 -0
  250. data/data/united_states/california/siskiyou/all.rb +97 -0
  251. data/data/united_states/california/solano/all.rb +55 -0
  252. data/data/united_states/california/sonoma/all.rb +168 -0
  253. data/data/united_states/california/stanislaus/all.rb +142 -0
  254. data/data/united_states/california/sutter/all.rb +40 -0
  255. data/data/united_states/california/tehama/all.rb +58 -0
  256. data/data/united_states/california/trinity/all.rb +49 -0
  257. data/data/united_states/california/tulare/all.rb +246 -0
  258. data/data/united_states/california/tuolumne/all.rb +97 -0
  259. data/data/united_states/california/ventura/all.rb +123 -0
  260. data/data/united_states/california/yolo/all.rb +168 -0
  261. data/data/united_states/california/yuba/all.rb +141 -0
  262. data/data/united_states/colorado.rb +13 -0
  263. data/data/united_states/connecticut.rb +5 -0
  264. data/data/united_states/delaware.rb +5 -0
  265. data/data/united_states/florida.rb +25 -0
  266. data/data/united_states/georgia.rb +8 -0
  267. data/data/united_states/idaho.rb +4 -0
  268. data/data/united_states/illinois.rb +48 -0
  269. data/data/united_states/indiana.rb +60 -0
  270. data/data/united_states/iowa.rb +29 -0
  271. data/data/united_states/kansas.rb +455 -0
  272. data/data/united_states/kansas/allen/all.rb +14 -0
  273. data/data/united_states/kansas/anderson/all.rb +7 -0
  274. data/data/united_states/kansas/atchison/all.rb +8 -0
  275. data/data/united_states/kansas/barber/all.rb +17 -0
  276. data/data/united_states/kansas/barton/all.rb +13 -0
  277. data/data/united_states/kansas/bourbon/all.rb +8 -0
  278. data/data/united_states/kansas/brown/all.rb +11 -0
  279. data/data/united_states/kansas/butler/all.rb +18 -0
  280. data/data/united_states/kansas/chase/all.rb +9 -0
  281. data/data/united_states/kansas/chautauqua/all.rb +7 -0
  282. data/data/united_states/kansas/cherokee/all.rb +10 -0
  283. data/data/united_states/kansas/cheyenne/all.rb +2 -0
  284. data/data/united_states/kansas/clark/all.rb +4 -0
  285. data/data/united_states/kansas/clay/all.rb +9 -0
  286. data/data/united_states/kansas/cloud/all.rb +13 -0
  287. data/data/united_states/kansas/coffey/all.rb +6 -0
  288. data/data/united_states/kansas/comanche/all.rb +4 -0
  289. data/data/united_states/kansas/cowley/all.rb +14 -0
  290. data/data/united_states/kansas/crawford/all.rb +19 -0
  291. data/data/united_states/kansas/decatur/all.rb +6 -0
  292. data/data/united_states/kansas/dickinson/all.rb +23 -0
  293. data/data/united_states/kansas/doniphan/all.rb +11 -0
  294. data/data/united_states/kansas/douglas/all.rb +19 -0
  295. data/data/united_states/kansas/edwards/all.rb +5 -0
  296. data/data/united_states/kansas/elk/all.rb +5 -0
  297. data/data/united_states/kansas/ellis/all.rb +9 -0
  298. data/data/united_states/kansas/ellsworth/all.rb +5 -0
  299. data/data/united_states/kansas/finney/all.rb +16 -0
  300. data/data/united_states/kansas/ford/all.rb +8 -0
  301. data/data/united_states/kansas/franklin/all.rb +10 -0
  302. data/data/united_states/kansas/geary/all.rb +6 -0
  303. data/data/united_states/kansas/gove/all.rb +6 -0
  304. data/data/united_states/kansas/graham/all.rb +5 -0
  305. data/data/united_states/kansas/grant/all.rb +5 -0
  306. data/data/united_states/kansas/gray/all.rb +5 -0
  307. data/data/united_states/kansas/greeley/all.rb +2 -0
  308. data/data/united_states/kansas/greenwood/all.rb +10 -0
  309. data/data/united_states/kansas/hamilton/all.rb +3 -0
  310. data/data/united_states/kansas/harper/all.rb +7 -0
  311. data/data/united_states/kansas/harvey/all.rb +7 -0
  312. data/data/united_states/kansas/haskell/all.rb +2 -0
  313. data/data/united_states/kansas/hodgeman/all.rb +2 -0
  314. data/data/united_states/kansas/jackson/all.rb +9 -0
  315. data/data/united_states/kansas/jefferson/all.rb +16 -0
  316. data/data/united_states/kansas/jewell/all.rb +9 -0
  317. data/data/united_states/kansas/johnson/all.rb +22 -0
  318. data/data/united_states/kansas/kearny/all.rb +2 -0
  319. data/data/united_states/kansas/kingman/all.rb +10 -0
  320. data/data/united_states/kansas/kiowa/all.rb +5 -0
  321. data/data/united_states/kansas/labette/all.rb +10 -0
  322. data/data/united_states/kansas/lane/all.rb +2 -0
  323. data/data/united_states/kansas/leavenworth/all.rb +8 -0
  324. data/data/united_states/kansas/lincoln/all.rb +5 -0
  325. data/data/united_states/kansas/linn/all.rb +10 -0
  326. data/data/united_states/kansas/logan/all.rb +4 -0
  327. data/data/united_states/kansas/lyon/all.rb +10 -0
  328. data/data/united_states/kansas/marion/all.rb +17 -0
  329. data/data/united_states/kansas/marshall/all.rb +12 -0
  330. data/data/united_states/kansas/mcpherson/all.rb +11 -0
  331. data/data/united_states/kansas/meade/all.rb +3 -0
  332. data/data/united_states/kansas/miami/all.rb +7 -0
  333. data/data/united_states/kansas/mitchell/all.rb +9 -0
  334. data/data/united_states/kansas/montgomery/all.rb +10 -0
  335. data/data/united_states/kansas/morris/all.rb +9 -0
  336. data/data/united_states/kansas/morton/all.rb +4 -0
  337. data/data/united_states/kansas/nemaha/all.rb +9 -0
  338. data/data/united_states/kansas/neosho/all.rb +7 -0
  339. data/data/united_states/kansas/ness/all.rb +7 -0
  340. data/data/united_states/kansas/norton/all.rb +7 -0
  341. data/data/united_states/kansas/osage/all.rb +11 -0
  342. data/data/united_states/kansas/osborne/all.rb +6 -0
  343. data/data/united_states/kansas/ottawa/all.rb +6 -0
  344. data/data/united_states/kansas/pawnee/all.rb +4 -0
  345. data/data/united_states/kansas/phillips/all.rb +10 -0
  346. data/data/united_states/kansas/pottawatomie/all.rb +14 -0
  347. data/data/united_states/kansas/pratt/all.rb +8 -0
  348. data/data/united_states/kansas/rawlins/all.rb +4 -0
  349. data/data/united_states/kansas/reno/all.rb +15 -0
  350. data/data/united_states/kansas/republic/all.rb +11 -0
  351. data/data/united_states/kansas/rice/all.rb +15 -0
  352. data/data/united_states/kansas/riley/all.rb +7 -0
  353. data/data/united_states/kansas/rooks/all.rb +7 -0
  354. data/data/united_states/kansas/rush/all.rb +9 -0
  355. data/data/united_states/kansas/russell/all.rb +13 -0
  356. data/data/united_states/kansas/saline/all.rb +15 -0
  357. data/data/united_states/kansas/scott/all.rb +5 -0
  358. data/data/united_states/kansas/sedgwick/all.rb +28 -0
  359. data/data/united_states/kansas/seward/all.rb +2 -0
  360. data/data/united_states/kansas/shawnee/all.rb +12 -0
  361. data/data/united_states/kansas/sheridan/all.rb +2 -0
  362. data/data/united_states/kansas/sherman/all.rb +3 -0
  363. data/data/united_states/kansas/smith/all.rb +7 -0
  364. data/data/united_states/kansas/stafford/all.rb +6 -0
  365. data/data/united_states/kansas/stanton/all.rb +3 -0
  366. data/data/united_states/kansas/stevens/all.rb +2 -0
  367. data/data/united_states/kansas/sumner/all.rb +14 -0
  368. data/data/united_states/kansas/thomas/all.rb +7 -0
  369. data/data/united_states/kansas/trego/all.rb +3 -0
  370. data/data/united_states/kansas/wabaunsee/all.rb +10 -0
  371. data/data/united_states/kansas/wallace/all.rb +3 -0
  372. data/data/united_states/kansas/washington/all.rb +12 -0
  373. data/data/united_states/kansas/wichita/all.rb +2 -0
  374. data/data/united_states/kansas/wilson/all.rb +7 -0
  375. data/data/united_states/kansas/woodson/all.rb +5 -0
  376. data/data/united_states/kansas/wyandotte/all.rb +5 -0
  377. data/data/united_states/kentucky.rb +21 -0
  378. data/data/united_states/louisiana.rb +16 -0
  379. data/data/united_states/maine.rb +36 -0
  380. data/data/united_states/massachusetts.rb +20 -0
  381. data/data/united_states/michigan.rb +20 -0
  382. data/data/united_states/minnesota.rb +50 -0
  383. data/data/united_states/mississippi.rb +12 -0
  384. data/data/united_states/missouri.rb +26 -0
  385. data/data/united_states/montana.rb +4 -0
  386. data/data/united_states/nebraska.rb +12 -0
  387. data/data/united_states/nevada.rb +8 -0
  388. data/data/united_states/new_hampshire.rb +8 -0
  389. data/data/united_states/new_jersey.rb +24 -0
  390. data/data/united_states/new_mexico.rb +13 -0
  391. data/data/united_states/new_york.rb +76 -0
  392. data/data/united_states/north_carolina.rb +25 -0
  393. data/data/united_states/north_dakota.rb +12 -0
  394. data/data/united_states/ohio.rb +38 -0
  395. data/data/united_states/oklahoma.rb +4 -0
  396. data/data/united_states/oregon.rb +8 -0
  397. data/data/united_states/pennsylvania.rb +28 -0
  398. data/data/united_states/south_carolina.rb +12 -0
  399. data/data/united_states/south_dakota.rb +8 -0
  400. data/data/united_states/tennessee.rb +4 -0
  401. data/data/united_states/texas.rb +28 -0
  402. data/data/united_states/utah.rb +12 -0
  403. data/data/united_states/vermont.rb +12 -0
  404. data/data/united_states/virginia.rb +20 -0
  405. data/data/united_states/washington.rb +8 -0
  406. data/data/united_states/west_virginia.rb +37 -0
  407. data/data/united_states/wisconsin.rb +53 -0
  408. data/data/uruguay/florida.rb +5 -0
  409. data/data/venezuela/amazonas.rb +4 -0
  410. data/lib/spotter.rb +31 -0
  411. data/lib/spotter/region.rb +14 -0
  412. data/lib/spotter/result.rb +44 -0
  413. data/test/spotter/region_test.rb +26 -0
  414. data/test/spotter/result_test.rb +38 -0
  415. data/test/spotter_test.rb +68 -0
  416. data/test/test_helper.rb +12 -0
  417. metadata +517 -0
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ODU1OWZlNjI3Nzg3MGQ0ODAzNDJkZjQwNWZhZjNhNDQ2ZmQ5MWU2NA==
5
+ data.tar.gz: !binary |-
6
+ MzM3MDZkMDFhYTBkMDc5ZjY1YzM0ZTYyOWMwODA3NGZiNmMzNmEzNA==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ MWJhMTcyNGJiYzY3NjJjNGQ2ODNmYzg0MGZjNjIyODZiYjMzNmZkMzRmMjcw
10
+ MTk2NjBjZDM5Nzc5MmNhMGMzMTdjY2Q1MzU2YzAyY2ExODViYTI0ZWQ0YzRi
11
+ OTY1MWVlODBjYzI2ZTA3ZjczNzMwNzdkNTk3MTNhNDg5YjY1ZmQ=
12
+ data.tar.gz: !binary |-
13
+ NzlhMGZiMDk1MDhhOTllYTI1Y2E5YjZmOTBkZmYxYTc0OTk1Yjc3NjBjZTJi
14
+ ODFkMWE2ZjU4YmM2ZWYzM2Y3OGNmZTQ4ODMzMWVhNjU2NjY2NzFhODgyY2Q1
15
+ ZWJlNjJhZjU3ZWVlMDQ5ZGU2MzA2YzU2YjdjYTc2MGJlNjMwNDY=
@@ -0,0 +1,10 @@
1
+
2
+ # ChangeLog
3
+
4
+ ## 1.0.1
5
+
6
+ * Now works with mixed cases and special characters such as !#,.
7
+
8
+ ## 1.0.0
9
+
10
+ * First version released to public
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'turn'
4
+ gem 'shoulda'
5
+
6
+ gemspec
@@ -0,0 +1,42 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ spotter (1.0.1)
5
+ hashrules (> 1.1.3, < 1.2)
6
+ titleize
7
+ unicode
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ activesupport (3.2.13)
13
+ i18n (= 0.6.1)
14
+ multi_json (~> 1.0)
15
+ ansi (1.4.3)
16
+ bourne (1.4.0)
17
+ mocha (~> 0.13.2)
18
+ hashrules (1.1.4)
19
+ i18n (0.6.1)
20
+ metaclass (0.0.1)
21
+ mocha (0.13.3)
22
+ metaclass (~> 0.0.1)
23
+ multi_json (1.7.2)
24
+ shoulda (3.4.0)
25
+ shoulda-context (~> 1.0, >= 1.0.1)
26
+ shoulda-matchers (~> 1.0, >= 1.4.1)
27
+ shoulda-context (1.1.0)
28
+ shoulda-matchers (1.5.6)
29
+ activesupport (>= 3.0.0)
30
+ bourne (~> 1.3)
31
+ titleize (1.3.0)
32
+ turn (0.9.6)
33
+ ansi
34
+ unicode (0.4.4)
35
+
36
+ PLATFORMS
37
+ ruby
38
+
39
+ DEPENDENCIES
40
+ shoulda
41
+ spotter!
42
+ turn
@@ -0,0 +1,64 @@
1
+
2
+ # Spotter
3
+
4
+ Robustly identify countries, states, islands, cities and whatnot from text. This is still BETA. Although it supports most countries and states, it still lacks regions and cities for the most part of the world.
5
+
6
+ ## Description
7
+
8
+ What if I ask you: "What region is 'ontario'", or "where is 'ca'"? I would answer: Ontario is a state in Canada as well as a city in California. CA is the ISO abbreviation for Canada, and also the abbreviation for California.
9
+
10
+ The goal of this gem is such: Given a string, do your very best to identify all possible locations, and order them by significance. Provide as much information as possible; What kind of region is this? Country? City? Island? Continent?
11
+
12
+ ## Usage
13
+
14
+ ```ruby
15
+ require 'spotter'
16
+
17
+ spotter = Spotter.new
18
+
19
+ results = spotter.identify('new york')
20
+
21
+ puts results.first.to_s # => "United States, New York"
22
+
23
+ puts results.first.regions[0].name # => "United States"
24
+ puts results.first.regions[0].type # => "country"
25
+ puts results.first.regions[1].name # => "New York"
26
+ puts results.first.regions[1].type # => "state"
27
+ ```
28
+
29
+ It can handle text in different cases, spellings, etc.
30
+
31
+ ```ruby
32
+ spotter.identify('ontARIO, california').first.to_s
33
+ # => "United States, California, San Bernardino, Ontario"
34
+
35
+ spotter.identify('росСиЯ').first.to_s # => 'Russia'
36
+ spotter.identify('ruSSia').first.to_s # => 'Russia'
37
+ ```
38
+
39
+ It returns all matches found:
40
+
41
+ ```ruby
42
+ results = spotter.identify('canada')
43
+ puts results[0].to_s # => 'Canada'
44
+ puts results[1].to_s # => 'United States, Kansas, Canada'
45
+ ```
46
+
47
+ It works with abbreviations too:
48
+
49
+ ```ruby
50
+ puts spotter.identify('se').first.to_s # => 'Sweden'
51
+ ```
52
+
53
+ ## Rake task
54
+
55
+ You can also use the gem with the rake task `identify` as such:
56
+
57
+ ```
58
+ rake identify['new york']
59
+ ```
60
+
61
+ ## TODO
62
+
63
+ * Add support for more states, cities and other regions
64
+ * Add support for html/bbcode tagging of search queries, showing identified parts of the string
@@ -0,0 +1,26 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs << 'test'
5
+ t.test_files = FileList['test/**/*_test.rb']
6
+ t.verbose = true
7
+ end
8
+
9
+ task :default => :test
10
+
11
+
12
+ desc "Attempt to identify region from string"
13
+ task :identify, :string do |t,args|
14
+ require 'bundler/setup'
15
+ require 'spotter'
16
+
17
+ string = args[:string]
18
+ spotter = Spotter.new
19
+
20
+ results = spotter.identify(string)
21
+ puts "="*30
22
+ results.each do |result|
23
+ p result
24
+ end
25
+ puts "="*30
26
+ end
@@ -0,0 +1,19 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.authors = ['Mikael Wikman']
5
+ gem.email = ['mikael@wikman.me']
6
+ gem.summary = %q{Robustly identify countries, states, islands, cities and whatnot from text. This is still BETA}
7
+ gem.description = %Q{What if I ask you: "What country is 'ontario'", or "where is 'ca'"? I would answer: Ontario is a state in Canada and a city in California. CA is the ISO abbreviation for Canada, and also the abbreviation for California.\nThe goal of this gem is such: Given a string, do your very best to identify all possible locations, and order them by significance. Provide as much information as possible; What kind of region is this? Country? City? Island? Continent?}
8
+ gem.homepage = "https://github.com/mikaelwikman/spotter"
9
+
10
+ gem.files = `git ls-files`.split("\n")
11
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
12
+ gem.test_files = gem.files.grep(%r{^(test|features)/})
13
+ gem.name = "region-spotter"
14
+ gem.require_paths = ["lib"]
15
+ gem.version = '1.0.1'
16
+ gem.add_dependency 'hashrules', '>1.1.3', '<1.2'
17
+ gem.add_dependency 'titleize'
18
+ gem.add_dependency 'unicode'
19
+ end
@@ -0,0 +1,9 @@
1
+
2
+ match 'misiones', 'ar n' do
3
+ set subregion: 'misiones'
4
+ set subregion_type: 'province'
5
+
6
+ match 'puerto rico' do
7
+ set place: 'puerto rico'
8
+ end
9
+ end
@@ -0,0 +1,16 @@
1
+
2
+ match 'new south wales' do
3
+ set subregion: 'new south wales'
4
+
5
+ match 'kentucky' do
6
+ set place: 'kentucky'
7
+ end
8
+
9
+ match 'maryland' do
10
+ set place: 'maryland'
11
+ end
12
+
13
+ match 'carroll' do
14
+ set place: 'carroll'
15
+ end
16
+ end
@@ -0,0 +1,8 @@
1
+
2
+ match 'queensland', w(/(au )?qld/) do
3
+ set subregion: 'queensland'
4
+
5
+ match 'texas' do
6
+ set place: 'texas'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+
2
+ match 'western province' do
3
+ set subregion: 'western province'
4
+
5
+ match 'denmark' do
6
+ set place: 'denmark'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+
2
+ match 'wallonia' do
3
+ set subregion: 'wallonia'
4
+
5
+ match w(/luxembo?urg/) do
6
+ set subsubregion: 'luxembourg'
7
+ end
8
+ end
@@ -0,0 +1,4 @@
1
+
2
+ match w(/ireland( island)?/) do
3
+ set subregion: 'ireland island'
4
+ end
@@ -0,0 +1,8 @@
1
+
2
+ match 'cochabamba' do
3
+ set subregion: 'cochabamba'
4
+
5
+ match w(/(g(e|é)rman )?jord(a|á)n/) do
6
+ set subsubregion: 'gérman jordán'
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+
2
+ match 'santa cruz' do
3
+ set subregion: 'santa cruz'
4
+
5
+ match 'florida' do
6
+ set subsubregion: 'florida'
7
+ end
8
+ end
@@ -0,0 +1,4 @@
1
+
2
+ match 'amazonas' do
3
+ set subregion: 'amazonas'
4
+ end
@@ -0,0 +1,8 @@
1
+
2
+ match w(/mato grosso( do sul)?/) do
3
+ set subregion: 'mato grosso do sul'
4
+
5
+ match 'costa rica' do
6
+ set subsubregion: 'costa rica'
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+
2
+ match w(/paran(a|á)/) do
3
+ set subregion: 'paraná'
4
+
5
+ match w(/fl(o|ó)rida/) do
6
+ set subsubregion: 'flórida'
7
+ set subsubregion_type: 'municipality'
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+
2
+ match w(/s(a|ã)o paulo/) do
3
+ set subregion: 'são paulo'
4
+
5
+ match w(/fl(o|ó)rida( paulista)?/) do
6
+ set subsubregion: 'flórida paulista'
7
+ set subsubregion_type: 'municipality'
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+
2
+ match 'montana' do
3
+ set subregion: 'montana'
4
+
5
+ match 'jordan' do
6
+ set place: 'jordan'
7
+ end
8
+ end
@@ -0,0 +1,20 @@
1
+
2
+ match 'ab', 'alberta' do
3
+ set subregion: 'alberta'
4
+
5
+ match 'calgary' do
6
+ set place: 'calgary'
7
+ end
8
+
9
+ match 'new norway' do
10
+ set place: 'new norway'
11
+ end
12
+
13
+ match 'queensland' do
14
+ set place: 'queensland'
15
+ end
16
+
17
+ match w(/(new )?norway/) do
18
+ set place: 'new norway'
19
+ end
20
+ end
@@ -0,0 +1,9 @@
1
+
2
+ match 'british columbia' do
3
+ set subregion: 'british columbia'
4
+
5
+ match w(/wales( island)?/) do
6
+ set place: 'wales island'
7
+ end
8
+
9
+ end
@@ -0,0 +1,7 @@
1
+ match 'manitoba', 'mb' do
2
+ set subregion: 'manitoba'
3
+
4
+ match 'norway house' do
5
+ set place: 'norway house'
6
+ end
7
+ end
@@ -0,0 +1,4 @@
1
+ match 'new brunswick', w(/(ca )?nb/) do
2
+ set subregion: 'new brunswick'
3
+
4
+ end
@@ -0,0 +1,8 @@
1
+
2
+ match /newfoundland( and labrador)?/ do
3
+ set subregion: 'newfoundland and labrador'
4
+
5
+ match /portugal cove( st philip ?s)?/ do
6
+ set place: 'portugal cove-st. philip\'s'
7
+ end
8
+ end
@@ -0,0 +1,4 @@
1
+ match 'northwest territories', w(/(ca )?nt/) do
2
+ set subregion: 'northwest territories'
3
+
4
+ end
@@ -0,0 +1,5 @@
1
+
2
+ match 'nova scotia', w(/(ca )?ns/) do
3
+ set subregion: 'nova scotia'
4
+
5
+ end
@@ -0,0 +1,5 @@
1
+
2
+ match 'nunavut', w(/(ca )?nu/) do
3
+ set subregion: 'nunavut'
4
+
5
+ end
@@ -0,0 +1,28 @@
1
+
2
+ match w(/(ca )?on/), 'ontario' do
3
+ set subregion: 'ontario'
4
+
5
+ match 'gravenhurst' do
6
+ set place: 'gravenhurst'
7
+ end
8
+
9
+ match 'mississippi mills' do
10
+ set place: 'mississippi mills'
11
+ end
12
+
13
+ match 'jordan' do
14
+ set place: 'jordan'
15
+ end
16
+
17
+ match 'hawkesbury' do
18
+ set place: 'hawkesbury'
19
+ end
20
+
21
+ match 'london' do
22
+ set place: 'london'
23
+ end
24
+
25
+ match 'long beach' do
26
+ set place: 'long beach'
27
+ end
28
+ end
@@ -0,0 +1,5 @@
1
+
2
+ match w(/prince edward( island)?/), w(/(ca )?pe/) do
3
+ set subregion: 'prince edward island'
4
+
5
+ end
@@ -0,0 +1,3 @@
1
+ match 'qc', 'quebec' do
2
+ set subregion: 'quebec'
3
+ end
@@ -0,0 +1,5 @@
1
+
2
+ match 'saskatchewan', w(/(ca )?sk/) do
3
+ set subregion: 'saskatchewan'
4
+
5
+ end