geocoder 1.4.7 → 1.5.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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +352 -935
  4. data/examples/autoexpire_cache_redis.rb +3 -3
  5. data/lib/generators/geocoder/config/templates/initializer.rb +2 -2
  6. data/lib/geocoder/cache.rb +1 -1
  7. data/lib/geocoder/cli.rb +2 -2
  8. data/lib/geocoder/configuration.rb +2 -2
  9. data/lib/geocoder/exceptions.rb +1 -1
  10. data/lib/geocoder/ip_address.rb +1 -1
  11. data/lib/geocoder/lookup.rb +4 -3
  12. data/lib/geocoder/lookups/amap.rb +7 -3
  13. data/lib/geocoder/lookups/baidu.rb +14 -10
  14. data/lib/geocoder/lookups/baidu_ip.rb +6 -35
  15. data/lib/geocoder/lookups/ban_data_gouv_fr.rb +4 -4
  16. data/lib/geocoder/lookups/base.rb +21 -3
  17. data/lib/geocoder/lookups/bing.rb +8 -12
  18. data/lib/geocoder/lookups/db_ip_com.rb +9 -6
  19. data/lib/geocoder/lookups/dstk.rb +4 -2
  20. data/lib/geocoder/lookups/esri.rb +1 -16
  21. data/lib/geocoder/lookups/freegeoip.rb +4 -0
  22. data/lib/geocoder/lookups/geocoder_ca.rb +4 -4
  23. data/lib/geocoder/lookups/geocoder_us.rb +17 -9
  24. data/lib/geocoder/lookups/geocodio.rb +5 -5
  25. data/lib/geocoder/lookups/geoportail_lu.rb +7 -7
  26. data/lib/geocoder/lookups/google.rb +8 -8
  27. data/lib/geocoder/lookups/google_places_details.rb +4 -4
  28. data/lib/geocoder/lookups/google_places_search.rb +4 -4
  29. data/lib/geocoder/lookups/google_premier.rb +10 -0
  30. data/lib/geocoder/lookups/here.rb +4 -4
  31. data/lib/geocoder/lookups/ip2location.rb +74 -0
  32. data/lib/geocoder/lookups/ipapi_com.rb +7 -12
  33. data/lib/geocoder/lookups/ipdata_co.rb +4 -0
  34. data/lib/geocoder/lookups/ipinfo_io.rb +10 -19
  35. data/lib/geocoder/lookups/ipstack.rb +63 -0
  36. data/lib/geocoder/lookups/latlon.rb +4 -4
  37. data/lib/geocoder/lookups/location_iq.rb +10 -4
  38. data/lib/geocoder/lookups/mapbox.rb +7 -6
  39. data/lib/geocoder/lookups/mapquest.rb +4 -5
  40. data/lib/geocoder/lookups/maxmind.rb +4 -4
  41. data/lib/geocoder/lookups/maxmind_geoip2.rb +4 -0
  42. data/lib/geocoder/lookups/nominatim.rb +4 -4
  43. data/lib/geocoder/lookups/opencagedata.rb +6 -5
  44. data/lib/geocoder/lookups/pelias.rb +6 -6
  45. data/lib/geocoder/lookups/pickpoint.rb +9 -3
  46. data/lib/geocoder/lookups/pointpin.rb +7 -6
  47. data/lib/geocoder/lookups/postcode_anywhere_uk.rb +4 -5
  48. data/lib/geocoder/lookups/postcodes_io.rb +31 -0
  49. data/lib/geocoder/lookups/smarty_streets.rb +8 -8
  50. data/lib/geocoder/lookups/telize.rb +24 -4
  51. data/lib/geocoder/lookups/yandex.rb +4 -4
  52. data/lib/geocoder/results/baidu.rb +10 -10
  53. data/lib/geocoder/results/base.rb +13 -1
  54. data/lib/geocoder/results/bing.rb +1 -1
  55. data/lib/geocoder/results/db_ip_com.rb +0 -5
  56. data/lib/geocoder/results/freegeoip.rb +0 -5
  57. data/lib/geocoder/results/geocoder_ca.rb +3 -3
  58. data/lib/geocoder/results/geoip2.rb +2 -6
  59. data/lib/geocoder/results/geoportail_lu.rb +5 -3
  60. data/lib/geocoder/results/ip2location.rb +22 -0
  61. data/lib/geocoder/results/ipdata_co.rb +0 -5
  62. data/lib/geocoder/results/ipstack.rb +60 -0
  63. data/lib/geocoder/results/maxmind.rb +0 -5
  64. data/lib/geocoder/results/maxmind_local.rb +0 -5
  65. data/lib/geocoder/results/postcodes_io.rb +40 -0
  66. data/lib/geocoder/results/telize.rb +0 -5
  67. data/lib/geocoder/results/test.rb +1 -1
  68. data/lib/geocoder/stores/active_record.rb +0 -2
  69. data/lib/geocoder/stores/base.rb +1 -1
  70. data/lib/geocoder/version.rb +1 -1
  71. metadata +14 -8
  72. data/lib/geocoder/lookups/okf.rb +0 -44
  73. data/lib/geocoder/lookups/ovi.rb +0 -62
  74. data/lib/geocoder/results/okf.rb +0 -106
  75. data/lib/geocoder/results/ovi.rb +0 -71
@@ -1,71 +0,0 @@
1
- require 'geocoder/results/base'
2
-
3
- module Geocoder::Result
4
- class Ovi < Base
5
-
6
- ##
7
- # A string in the given format.
8
- #
9
- def address(format = :full)
10
- address_data['Label']
11
- end
12
-
13
- ##
14
- # A two-element array: [lat, lon].
15
- #
16
- def coordinates
17
- fail unless d = @data['Location']['DisplayPosition']
18
- [d['Latitude'].to_f, d['Longitude'].to_f]
19
- end
20
-
21
- def state
22
- address_data['County']
23
- end
24
-
25
- def province
26
- address_data['County']
27
- end
28
-
29
- def postal_code
30
- address_data['PostalCode']
31
- end
32
-
33
- def city
34
- address_data['City']
35
- end
36
-
37
- def state_code
38
- address_data['State']
39
- end
40
-
41
- def province_code
42
- address_data['State']
43
- end
44
-
45
- def country
46
- fail unless d = address_data['AdditionalData']
47
- if v = d.find{|ad| ad['key']=='CountryName'}
48
- return v['value']
49
- end
50
- end
51
-
52
- def country_code
53
- address_data['Country']
54
- end
55
-
56
- def viewport
57
- map_view = data['Location']['MapView'] || fail
58
- south = map_view['BottomRight']['Latitude']
59
- west = map_view['TopLeft']['Longitude']
60
- north = map_view['TopLeft']['Latitude']
61
- east = map_view['BottomRight']['Longitude']
62
- [south, west, north, east]
63
- end
64
-
65
- private # ----------------------------------------------------------------
66
-
67
- def address_data
68
- @data['Location']['Address'] || fail
69
- end
70
- end
71
- end