steveh-geokit 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module Geokit
2
- VERSION = "1.6.0"
2
+ VERSION = "1.6.1"
3
3
  end
@@ -42,7 +42,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
42
42
  def test_google_full_address
43
43
  response = MockSuccess.new
44
44
  response.expects(:body).returns(GOOGLE_FULL)
45
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape(@address)}&output=xml&key=Google&oe=utf-8"
45
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape(@address)}"
46
46
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
47
47
  res=Geokit::Geocoders::GoogleGeocoder.geocode(@address)
48
48
  assert_equal "CA", res.state
@@ -56,7 +56,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
56
56
  def test_google_full_address_with_geo_loc
57
57
  response = MockSuccess.new
58
58
  response.expects(:body).returns(GOOGLE_FULL)
59
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape(@full_address_short_zip)}&output=xml&key=Google&oe=utf-8"
59
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape(@full_address_short_zip)}"
60
60
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
61
61
  res=Geokit::Geocoders::GoogleGeocoder.geocode(@google_full_loc)
62
62
  assert_equal "CA", res.state
@@ -70,7 +70,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
70
70
  def test_google_full_address_accuracy
71
71
  response = MockSuccess.new
72
72
  response.expects(:body).returns(GOOGLE_FULL)
73
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape(@full_address_short_zip)}&output=xml&key=Google&oe=utf-8"
73
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape(@full_address_short_zip)}"
74
74
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
75
75
  res=Geokit::Geocoders::GoogleGeocoder.geocode(@google_full_loc)
76
76
  assert_equal 8, res.accuracy
@@ -79,7 +79,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
79
79
  def test_google_city
80
80
  response = MockSuccess.new
81
81
  response.expects(:body).returns(GOOGLE_CITY)
82
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape(@address)}&output=xml&key=Google&oe=utf-8"
82
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape(@address)}"
83
83
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
84
84
  res=Geokit::Geocoders::GoogleGeocoder.geocode(@address)
85
85
  assert_equal "CA", res.state
@@ -94,7 +94,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
94
94
  def test_google_city_accuracy
95
95
  response = MockSuccess.new
96
96
  response.expects(:body).returns(GOOGLE_CITY)
97
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape(@address)}&output=xml&key=Google&oe=utf-8"
97
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape(@address)}"
98
98
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
99
99
  res=Geokit::Geocoders::GoogleGeocoder.geocode(@address)
100
100
  assert_equal 4, res.accuracy
@@ -103,7 +103,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
103
103
  def test_google_city_with_geo_loc
104
104
  response = MockSuccess.new
105
105
  response.expects(:body).returns(GOOGLE_CITY)
106
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape(@address)}&output=xml&key=Google&oe=utf-8"
106
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape(@address)}"
107
107
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
108
108
  res=Geokit::Geocoders::GoogleGeocoder.geocode(@google_city_loc)
109
109
  assert_equal "CA", res.state
@@ -118,7 +118,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
118
118
  def test_google_suggested_bounds
119
119
  response = MockSuccess.new
120
120
  response.expects(:body).returns(GOOGLE_RESULT_WITH_SUGGESTED_BOUNDS)
121
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape(@full_address_short_zip)}&output=xml&key=Google&oe=utf-8"
121
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape(@full_address_short_zip)}"
122
122
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
123
123
  res = Geokit::Geocoders::GoogleGeocoder.geocode(@google_full_loc)
124
124
 
@@ -128,7 +128,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
128
128
 
129
129
  def test_service_unavailable
130
130
  response = MockFailure.new
131
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape(@address)}&output=xml&key=Google&oe=utf-8"
131
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape(@address)}"
132
132
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
133
133
  assert !Geokit::Geocoders::GoogleGeocoder.geocode(@google_city_loc).success
134
134
  end
@@ -137,7 +137,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
137
137
  #Geokit::Geocoders::GoogleGeocoder.do_geocode('via Sandro Pertini 8, Ossona, MI')
138
138
  response = MockSuccess.new
139
139
  response.expects(:body).returns(GOOGLE_MULTI)
140
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape('via Sandro Pertini 8, Ossona, MI')}&output=xml&key=Google&oe=utf-8"
140
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape('via Sandro Pertini 8, Ossona, MI')}"
141
141
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
142
142
  res=Geokit::Geocoders::GoogleGeocoder.geocode('via Sandro Pertini 8, Ossona, MI')
143
143
  assert_equal "Lombardy", res.state
@@ -165,7 +165,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
165
165
  madrid.lat, madrid.lng = "40.4167413", "-3.7032498"
166
166
  response = MockSuccess.new
167
167
  response.expects(:body).returns(GOOGLE_REVERSE_MADRID)
168
- url = "http://maps.google.com/maps/geo?ll=#{Geokit::Inflector::url_escape(madrid.ll)}&output=xml&key=#{Geokit::Geocoders::google}&oe=utf-8"
168
+ url = "http://maps.google.com/maps/geo?key=#{Geokit::Geocoders::google}&ll=#{Geokit::Inflector::url_escape(madrid.ll)}&oe=utf-8&output=xml"
169
169
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).
170
170
  returns(response)
171
171
  res=Geokit::Geocoders::GoogleGeocoder.do_reverse_geocode(madrid.ll)
@@ -191,7 +191,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
191
191
  response = MockSuccess.new
192
192
  response.expects(:body).returns(GOOGLE_COUNTRY_CODE_BIASED_RESULT)
193
193
 
194
- url = "http://maps.google.com/maps/geo?q=Syracuse&output=xml&gl=it&key=Google&oe=utf-8"
194
+ url = "http://maps.google.com/maps/geo?gl=it&key=Google&oe=utf-8&output=xml&q=Syracuse"
195
195
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
196
196
  biased_result = Geokit::Geocoders::GoogleGeocoder.geocode('Syracuse', :bias => 'it')
197
197
 
@@ -203,7 +203,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
203
203
  response = MockSuccess.new
204
204
  response.expects(:body).returns(GOOGLE_BOUNDS_BIASED_RESULT)
205
205
 
206
- url = "http://maps.google.com/maps/geo?q=Winnetka&output=xml&ll=34.19769320884902,-118.54716002778494&spn=0.2470479999999995,0.29491400000000567&key=Google&oe=utf-8"
206
+ url = "http://maps.google.com/maps/geo?key=Google&ll=34.19769320884902%2C-118.54716002778494&oe=utf-8&output=xml&q=Winnetka&spn=0.2470479999999995%2C0.29491400000000567"
207
207
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
208
208
 
209
209
  bounds = Geokit::Bounds.normalize([34.074081, -118.694401], [34.321129, -118.399487])
@@ -216,7 +216,7 @@ class GoogleGeocoderTest < BaseGeocoderTest #:nodoc: all
216
216
  def test_too_many_queries
217
217
  response = MockSuccess.new
218
218
  response.expects(:body).returns(GOOGLE_TOO_MANY)
219
- url = "http://maps.google.com/maps/geo?q=#{Geokit::Inflector.url_escape(@address)}&output=xml&key=Google&oe=utf-8"
219
+ url = "http://maps.google.com/maps/geo?key=Google&oe=utf-8&output=xml&q=#{Geokit::Inflector.url_escape(@address)}"
220
220
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
221
221
  assert_raise Geokit::TooManyQueriesError do
222
222
  res=Geokit::Geocoders::GoogleGeocoder.geocode(@address)
@@ -0,0 +1,88 @@
1
+ Geokit::Geocoders::google = '0xdeadbeef'
2
+ Geokit::Geocoders::google_client = 'gme-acme'
3
+ Geokit::Geocoders::google_channel = 'marketing'
4
+
5
+ class GooglePremierGeocoderTest < BaseGeocoderTest #:nodoc: all
6
+
7
+ GOOGLE_PREMIER_FULL=<<-EOF
8
+ {
9
+ "status": "OK",
10
+ "results": [ {
11
+ "types": [ "street_address" ],
12
+ "formatted_address": "65 Upper Queen St, Auckland 1010, New Zealand",
13
+ "address_components": [ {
14
+ "long_name": "65",
15
+ "short_name": "65",
16
+ "types": [ "street_number" ]
17
+ }, {
18
+ "long_name": "Upper Queen St",
19
+ "short_name": "Upper Queen St",
20
+ "types": [ "route" ]
21
+ }, {
22
+ "long_name": "Auckland",
23
+ "short_name": "Auckland",
24
+ "types": [ "locality", "political" ]
25
+ }, {
26
+ "long_name": "Auckland",
27
+ "short_name": "Auckland",
28
+ "types": [ "administrative_area_level_3", "political" ]
29
+ }, {
30
+ "long_name": "Auckland",
31
+ "short_name": "Auckland",
32
+ "types": [ "administrative_area_level_1", "political" ]
33
+ }, {
34
+ "long_name": "New Zealand",
35
+ "short_name": "NZ",
36
+ "types": [ "country", "political" ]
37
+ }, {
38
+ "long_name": "1010",
39
+ "short_name": "1010",
40
+ "types": [ "postal_code" ]
41
+ } ],
42
+ "geometry": {
43
+ "location": {
44
+ "lat": -36.8624475,
45
+ "lng": 174.7589730
46
+ },
47
+ "location_type": "RANGE_INTERPOLATED",
48
+ "viewport": {
49
+ "southwest": {
50
+ "lat": -36.8656001,
51
+ "lng": 174.7558353
52
+ },
53
+ "northeast": {
54
+ "lat": -36.8593048,
55
+ "lng": 174.7621306
56
+ }
57
+ },
58
+ "bounds": {
59
+ "southwest": {
60
+ "lat": -36.8624574,
61
+ "lng": 174.7589730
62
+ },
63
+ "northeast": {
64
+ "lat": -36.8624475,
65
+ "lng": 174.7589929
66
+ }
67
+ }
68
+ }
69
+ } ]
70
+ }
71
+ EOF
72
+
73
+ def setup
74
+ @address = "65 Upper Queen Street, Auckland"
75
+ end
76
+
77
+ def test_google_full_address
78
+ response = MockSuccess.new
79
+ response.expects(:body).returns(GOOGLE_PREMIER_FULL)
80
+ url = "http://maps.googleapis.com/maps/api/geocode/json?address=65+Upper+Queen+Street%2C+Auckland&channel=marketing&client=gme-acme&sensor=false&signature=AO3Ppgjdr7SoQBUcwSdvXFjwN5M="
81
+ Geokit::Geocoders::GooglePremierGeocoder.expects(:call_geocoder_service).with(url).returns(response)
82
+ res = Geokit::Geocoders::GooglePremierGeocoder.geocode(@address)
83
+
84
+ assert_equal "Auckland", res.city
85
+ assert_equal 174.7589730, res.lng
86
+ end
87
+
88
+ end
@@ -31,7 +31,7 @@ class GoogleReverseGeocoderTest < BaseGeocoderTest #:nodoc: all
31
31
 
32
32
  @latlng = "51.4578329,7.0166848"
33
33
 
34
- url = "http://maps.google.com/maps/geo?ll=#{Geokit::Inflector.url_escape(@latlng)}&output=xml&key=Google&oe=utf-8"
34
+ url = "http://maps.google.com/maps/geo?key=Google&ll=#{Geokit::Inflector.url_escape(@latlng)}&oe=utf-8&output=xml"
35
35
  Geokit::Geocoders::GoogleGeocoder.expects(:call_geocoder_service).with(url).returns(response)
36
36
  res=Geokit::Geocoders::GoogleGeocoder.reverse_geocode(@latlng)
37
37
  assert_equal "Nordrhein-Westfalen", res.state
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: steveh-geokit
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.6.0
5
+ version: 1.6.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Andre Lewis
@@ -12,20 +12,31 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2011-02-14 00:00:00 +13:00
15
+ date: 2011-02-15 00:00:00 +13:00
16
16
  default_executable:
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
- name: mocha
19
+ name: activesupport
20
20
  prerelease: false
21
21
  requirement: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: "3"
27
+ type: :runtime
28
+ version_requirements: *id001
29
+ - !ruby/object:Gem::Dependency
30
+ name: mocha
31
+ prerelease: false
32
+ requirement: &id002 !ruby/object:Gem::Requirement
22
33
  none: false
23
34
  requirements:
24
35
  - - ">="
25
36
  - !ruby/object:Gem::Version
26
- version: "0"
37
+ version: "0.9"
27
38
  type: :development
28
- version_requirements: *id001
39
+ version_requirements: *id002
29
40
  description:
30
41
  email:
31
42
  - andre@earthcode.com
@@ -48,6 +59,8 @@ files:
48
59
  - Rakefile
49
60
  - geokit.gemspec
50
61
  - lib/geokit.rb
62
+ - lib/geokit/bounds.rb
63
+ - lib/geokit/geo_loc.rb
51
64
  - lib/geokit/geocoders.rb
52
65
  - lib/geokit/geocoders/ca_geocoder.rb
53
66
  - lib/geokit/geocoders/geo_plugin_geocoder.rb
@@ -55,11 +68,13 @@ files:
55
68
  - lib/geokit/geocoders/geocoder.rb
56
69
  - lib/geokit/geocoders/geonames_geocoder.rb
57
70
  - lib/geokit/geocoders/google_geocoder.rb
71
+ - lib/geokit/geocoders/google_premier_geocoder.rb
58
72
  - lib/geokit/geocoders/ip_geocoder.rb
59
73
  - lib/geokit/geocoders/multi_geocoder.rb
60
74
  - lib/geokit/geocoders/us_geocoder.rb
61
75
  - lib/geokit/geocoders/yahoo_geocoder.rb
62
76
  - lib/geokit/inflector.rb
77
+ - lib/geokit/lat_lng.rb
63
78
  - lib/geokit/mappable.rb
64
79
  - lib/geokit/too_many_queries_error.rb
65
80
  - lib/geokit/version.rb
@@ -69,6 +84,7 @@ files:
69
84
  - test/test_geoloc.rb
70
85
  - test/test_geoplugin_geocoder.rb
71
86
  - test/test_google_geocoder.rb
87
+ - test/test_google_premier_geocoder.rb
72
88
  - test/test_google_reverse_geocoder.rb
73
89
  - test/test_inflector.rb
74
90
  - test/test_ipgeocoder.rb
@@ -112,6 +128,7 @@ test_files:
112
128
  - test/test_geoloc.rb
113
129
  - test/test_geoplugin_geocoder.rb
114
130
  - test/test_google_geocoder.rb
131
+ - test/test_google_premier_geocoder.rb
115
132
  - test/test_google_reverse_geocoder.rb
116
133
  - test/test_inflector.rb
117
134
  - test/test_ipgeocoder.rb