geocoder 1.1.4 → 1.1.8

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 (110) hide show
  1. data/.travis.yml +4 -0
  2. data/{CHANGELOG.rdoc → CHANGELOG.md} +120 -39
  3. data/README.md +200 -54
  4. data/examples/autoexpire_cache_dalli.rb +62 -0
  5. data/examples/{autoexpire_cache.rb → autoexpire_cache_redis.rb} +4 -6
  6. data/lib/generators/geocoder/config/templates/initializer.rb +19 -23
  7. data/lib/geocoder/cache.rb +6 -1
  8. data/lib/geocoder/calculations.rb +45 -13
  9. data/lib/geocoder/cli.rb +10 -11
  10. data/lib/geocoder/configuration.rb +67 -43
  11. data/lib/geocoder/configuration_hash.rb +11 -0
  12. data/lib/geocoder/exceptions.rb +3 -0
  13. data/lib/geocoder/lookup.rb +3 -1
  14. data/lib/geocoder/lookups/base.rb +89 -27
  15. data/lib/geocoder/lookups/bing.rb +21 -11
  16. data/lib/geocoder/lookups/esri.rb +48 -0
  17. data/lib/geocoder/lookups/freegeoip.rb +8 -4
  18. data/lib/geocoder/lookups/geocoder_ca.rb +11 -7
  19. data/lib/geocoder/lookups/google.rb +18 -9
  20. data/lib/geocoder/lookups/google_premier.rb +16 -8
  21. data/lib/geocoder/lookups/mapquest.rb +33 -5
  22. data/lib/geocoder/lookups/maxmind.rb +88 -0
  23. data/lib/geocoder/lookups/nominatim.rb +13 -8
  24. data/lib/geocoder/lookups/ovi.rb +52 -0
  25. data/lib/geocoder/lookups/test.rb +10 -0
  26. data/lib/geocoder/lookups/yahoo.rb +51 -38
  27. data/lib/geocoder/lookups/yandex.rb +17 -9
  28. data/lib/geocoder/models/mongoid.rb +1 -1
  29. data/lib/geocoder/query.rb +20 -5
  30. data/lib/geocoder/request.rb +7 -1
  31. data/lib/geocoder/results/base.rb +8 -2
  32. data/lib/geocoder/results/esri.rb +51 -0
  33. data/lib/geocoder/results/google.rb +34 -0
  34. data/lib/geocoder/results/mapquest.rb +46 -2
  35. data/lib/geocoder/results/maxmind.rb +135 -0
  36. data/lib/geocoder/results/nominatim.rb +0 -10
  37. data/lib/geocoder/results/ovi.rb +62 -0
  38. data/lib/geocoder/results/test.rb +2 -1
  39. data/lib/geocoder/results/yahoo.rb +9 -2
  40. data/lib/geocoder/results/yandex.rb +12 -2
  41. data/lib/geocoder/sql.rb +6 -4
  42. data/lib/geocoder/stores/active_record.rb +57 -30
  43. data/lib/geocoder/stores/base.rb +3 -2
  44. data/lib/geocoder/stores/mongo_base.rb +2 -1
  45. data/lib/geocoder/version.rb +1 -1
  46. data/lib/geocoder.rb +2 -4
  47. data/lib/hash_recursive_merge.rb +74 -0
  48. data/lib/oauth_util.rb +112 -0
  49. data/test/cache_test.rb +19 -0
  50. data/test/calculations_test.rb +10 -4
  51. data/test/configuration_test.rb +26 -51
  52. data/test/error_handling_test.rb +8 -4
  53. data/test/fixtures/bing_invalid_key +1 -0
  54. data/test/fixtures/esri_madison_square_garden +59 -0
  55. data/test/fixtures/esri_no_results +8 -0
  56. data/test/fixtures/esri_reverse +21 -0
  57. data/test/fixtures/mapquest_madison_square_garden +52 -0
  58. data/test/fixtures/mapquest_no_results +7 -0
  59. data/test/fixtures/maxmind_24_24_24_21 +1 -0
  60. data/test/fixtures/maxmind_24_24_24_22 +1 -0
  61. data/test/fixtures/maxmind_24_24_24_23 +1 -0
  62. data/test/fixtures/maxmind_24_24_24_24 +1 -0
  63. data/test/fixtures/maxmind_74_200_247_59 +1 -0
  64. data/test/fixtures/maxmind_invalid_key +1 -0
  65. data/test/fixtures/maxmind_no_results +1 -0
  66. data/test/fixtures/ovi_madison_square_garden +72 -0
  67. data/test/fixtures/ovi_no_results +8 -0
  68. data/test/fixtures/yahoo_error +1 -0
  69. data/test/fixtures/yahoo_invalid_key +2 -0
  70. data/test/fixtures/yahoo_madison_square_garden +52 -0
  71. data/test/fixtures/yahoo_no_results +10 -0
  72. data/test/fixtures/yahoo_over_limit +2 -0
  73. data/test/fixtures/yandex_no_city_and_town +112 -0
  74. data/test/https_test.rb +3 -3
  75. data/test/integration/smoke_test.rb +2 -2
  76. data/test/lookup_test.rb +84 -11
  77. data/test/near_test.rb +43 -0
  78. data/test/oauth_util_test.rb +30 -0
  79. data/test/proxy_test.rb +2 -2
  80. data/test/query_test.rb +13 -0
  81. data/test/request_test.rb +29 -0
  82. data/test/result_test.rb +12 -2
  83. data/test/services_test.rb +208 -57
  84. data/test/test_helper.rb +66 -100
  85. data/test/test_mode_test.rb +35 -26
  86. metadata +58 -35
  87. data/test/fixtures/mapquest_madison_square_garden.json +0 -27
  88. data/test/fixtures/mapquest_no_results.json +0 -1
  89. data/test/fixtures/yahoo_madison_square_garden.json +0 -52
  90. data/test/fixtures/yahoo_no_results.json +0 -10
  91. data/test/fixtures/yahoo_v1_madison_square_garden.json +0 -46
  92. data/test/fixtures/yahoo_v1_no_results.json +0 -10
  93. /data/test/fixtures/{bing_madison_square_garden.json → bing_madison_square_garden} +0 -0
  94. /data/test/fixtures/{bing_no_results.json → bing_no_results} +0 -0
  95. /data/test/fixtures/{bing_reverse.json → bing_reverse} +0 -0
  96. /data/test/fixtures/{freegeoip_74_200_247_59.json → freegeoip_74_200_247_59} +0 -0
  97. /data/test/fixtures/{freegeoip_no_results.json → freegeoip_no_results} +0 -0
  98. /data/test/fixtures/{geocoder_ca_madison_square_garden.json → geocoder_ca_madison_square_garden} +0 -0
  99. /data/test/fixtures/{geocoder_ca_no_results.json → geocoder_ca_no_results} +0 -0
  100. /data/test/fixtures/{geocoder_ca_reverse.json → geocoder_ca_reverse} +0 -0
  101. /data/test/fixtures/{google_garbage.json → google_garbage} +0 -0
  102. /data/test/fixtures/{google_madison_square_garden.json → google_madison_square_garden} +0 -0
  103. /data/test/fixtures/{google_no_city_data.json → google_no_city_data} +0 -0
  104. /data/test/fixtures/{google_no_locality.json → google_no_locality} +0 -0
  105. /data/test/fixtures/{google_no_results.json → google_no_results} +0 -0
  106. /data/test/fixtures/{nominatim_madison_square_garden.json → nominatim_madison_square_garden} +0 -0
  107. /data/test/fixtures/{nominatim_no_results.json → nominatim_no_results} +0 -0
  108. /data/test/fixtures/{yandex_invalid_key.json → yandex_invalid_key} +0 -0
  109. /data/test/fixtures/{yandex_kremlin.json → yandex_kremlin} +0 -0
  110. /data/test/fixtures/{yandex_no_results.json → yandex_no_results} +0 -0
data/.travis.yml CHANGED
@@ -2,6 +2,7 @@ rvm:
2
2
  - 1.8.7
3
3
  - 1.9.2
4
4
  - 1.9.3
5
+ - jruby-19mode
5
6
  gemfile:
6
7
  - Gemfile
7
8
  - gemfiles/Gemfile.mongoid-2.4.x
@@ -17,3 +18,6 @@ matrix:
17
18
  - rvm: 1.9.3
18
19
  gemfile: gemfiles/Gemfile.mongoid-2.4.x
19
20
  env: SSL_CERT_DIR=/etc/ssl/certs
21
+ - rvm: jruby-19mode
22
+ gemfile: gemfiles/Gemfile.mongoid-2.4.x
23
+ env: SSL_CERT_DIR=/etc/ssl/certs
@@ -1,8 +1,55 @@
1
- = Changelog
2
-
3
- Per-release changes to Geocoder.
4
-
5
- == 1.1.4 (2012 Oct 2)
1
+ Changelog
2
+ =========
3
+
4
+ Per-release changes to Geocoder. Note that only major changes are summarized here. Please see the Git log for all changes.
5
+
6
+ 1.1.8 (2013 Apr 22)
7
+ -------------------
8
+
9
+ * Fix bug in ESRI lookup that caused an exception on load in environments without rack/utils.
10
+
11
+ 1.1.7 (2013 Apr 21)
12
+ -------------------
13
+
14
+ * Add support for Ovi/Nokia API (thanks github.com/datenimperator).
15
+ * Add support for ESRI API (thanks github.com/rpepato).
16
+ * Add ability to omit distance and bearing from SQL select clause (thanks github.com/nicolasdespres).
17
+ * Add support for caches that use read/write methods (thanks github.com/eskil).
18
+ * Add support for nautical miles (thanks github.com/vanboom).
19
+ * Fix: bug in parsing of MaxMind responses.
20
+ * Fix: bugs in query regular expressions (thanks github.com/boone).
21
+ * Fix: various bugs in MaxMind implementation.
22
+ * Fix: don't require a key for MapQuest.
23
+ * Fix: bug in handling of HTTP_X_FORWARDED_FOR header (thanks github.com/robdimarco).
24
+
25
+ 1.1.6 (2012 Dec 24)
26
+ -------------------
27
+
28
+ * Major changes to configuration syntax which allow for API-specific config options. Old config syntax is now DEPRECATED.
29
+ * Add support for MaxMind API (thanks github.com/gonzoyumo).
30
+ * Add optional Geocoder::InvalidApiKey exception for bad API credentials (Yahoo, Yandex, Bing, and Maxmind). Warn when bad key and exception not set in Geocoder.configure(:always_raise => [...]).
31
+ * Add support for X-Real-IP and X-Forwarded-For headers (thanks github.com/konsti).
32
+ * Add support for custom Nominatim host config: Geocoder.configure(:nominatim => {:host => "..."}).
33
+ * Raise exception when required API key is missing or incorrect format.
34
+ * Add support for Google's :region and :components parameters (thanks to github.com/tomlion).
35
+ * Fix: string escaping bug in OAuth lib (thanks github.com/m0thman).
36
+ * Fix: configured units were not always respected in SQL queries.
37
+ * Fix: in #nearbys, don't try to exclude self if not yet persisted.
38
+ * Fix: bug with cache stores that provided #delete but not #del.
39
+ * Change #nearbys so that it returns nil instead of [] when object is not geocoded.
40
+
41
+ 1.1.5 (2012 Nov 9)
42
+ ------------------
43
+
44
+ * Replace support for old Yahoo Placefinder with Yahoo BOSS (thanks github.com/pwoltman).
45
+ * Add support for actual Mapquest API (was previously just a proxy for Nominatim), including the paid service (thanks github.com/jedschneider).
46
+ * Add support for :select => :id_only option to near scope.
47
+ * Treat a given query as blank (don't do a lookup) if coordinates are given but latitude or longitude is nil.
48
+ * Speed up 'near' queries by adding bounding box condition (thanks github.com/mlandauer).
49
+ * Fix: don't redefine Object#hash in Yahoo result object (thanks github.com/m0thman).
50
+
51
+ 1.1.4 (2012 Oct 2)
52
+ ------------------
6
53
 
7
54
  * Deprecate Geocoder::Result::Nominatim#class and #type methods. Use #place_class and #place_type instead.
8
55
  * Add support for setting arbitrary parameters in geocoding request URL.
@@ -14,7 +61,8 @@ Per-release changes to Geocoder.
14
61
  * Fix: :exclude option to .near scope when primary key != :id (thanks github.com/smisml).
15
62
  * Much code refactoring (added Geocoder::Query class and Geocoder::Sql module).
16
63
 
17
- == 1.1.3 (2012 Aug 26)
64
+ 1.1.3 (2012 Aug 26)
65
+ -------------------
18
66
 
19
67
  * Add support for Mapquest geocoding service (thanks github.com/razorinc).
20
68
  * Add :test lookup for easy testing of apps using Geocoder (thanks github.com/mguterl).
@@ -27,7 +75,8 @@ Per-release changes to Geocoder.
27
75
  * Fix: bug in distance_from_sql method (error occurred when coordinates not found).
28
76
  * Fix: incompatibility with Mongoid 3.0.x (thanks github.com/petergoldstein).
29
77
 
30
- == 1.1.2 (2012 May 24)
78
+ 1.1.2 (2012 May 24)
79
+ -------------------
31
80
 
32
81
  * Add ability to specify default units and distance calculation method (thanks github.com/abravalheri).
33
82
  * Add new (optional) configuration syntax (thanks github.com/abravalheri).
@@ -38,7 +87,8 @@ Per-release changes to Geocoder.
38
87
  * Fix: properly recognize IP addresses with ::ffff: prefix (thanks github.com/brian-ewell).
39
88
  * Fix: avoid exception during calculations when coordinates not known (thanks github.com/flori).
40
89
 
41
- == 1.1.1 (2012 Feb 16)
90
+ 1.1.1 (2012 Feb 16)
91
+ -------------------
42
92
 
43
93
  * Add distance_from_sql class method to geocoded class (thanks github.com/dwilkie).
44
94
  * Add OverQueryLimitError and raise when relevant for Google lookup.
@@ -46,7 +96,8 @@ Per-release changes to Geocoder.
46
96
  * Fix: within_bounding_box now uses correct lat/lon DB columns (thanks github.com/kongo).
47
97
  * Fix: error accessing city in some cases with Yandex result (thanks github.com/kor6n and sld).
48
98
 
49
- == 1.1.0 (2011 Dec 3)
99
+ 1.1.0 (2011 Dec 3)
100
+ ------------------
50
101
 
51
102
  * A block passed to geocoded_by is now always executed, even if the geocoding service returns no results. This means you need to make sure you have results before trying to assign data to your object.
52
103
  * Fix issues with joins and row counts (issues #49, 86, and 108) by not using GROUP BY clause with ActiveRecord scopes.
@@ -58,17 +109,20 @@ Per-release changes to Geocoder.
58
109
  * Add support for API key to Geocoder.ca geocoding service (thanks github.com/ryanLonac).
59
110
  * Add support for state to Yandex results (thanks github.com/tipugin).
60
111
 
61
- == 1.0.5 (2011 Oct 26)
112
+ 1.0.5 (2011 Oct 26)
113
+ -------------------
62
114
 
63
115
  * Fix error with `rake assets:precompile` (thanks github.com/Sush).
64
116
  * Fix HTTPS support (thanks github.com/rsanheim).
65
117
  * Improve cache interface.
66
118
 
67
- == 1.0.4 (2011 Sep 18)
119
+ 1.0.4 (2011 Sep 18)
120
+ -------------------
68
121
 
69
122
  * Remove klass method from rake task, which could conflict with app methods (thanks github.com/mguterl).
70
123
 
71
- == 1.0.3 (2011 Sep 17)
124
+ 1.0.3 (2011 Sep 17)
125
+ -------------------
72
126
 
73
127
  * Add support for Google Premier geocoding service (thanks github.com/steveh).
74
128
  * Update Google API URL (thanks github.com/soorajb).
@@ -76,19 +130,22 @@ Per-release changes to Geocoder.
76
130
  * Fix: rake assets:precompile (Rails 3.1) not working in some situations.
77
131
  * Fix: stop double-adjusting units when using kilometers (thanks github.com/hairyheron).
78
132
 
79
- == 1.0.2 (2011 June 25)
133
+ 1.0.2 (2011 June 25)
134
+ --------------------
80
135
 
81
136
  * Add support for MongoMapper (thanks github.com/spagalloco).
82
137
  * Fix: user-specified coordinates field wasn't working with Mongoid (thanks github.com/thisduck).
83
138
  * Fix: invalid location given to near scope was returning all results (Active Record) or error (Mongoid) (thanks github.com/ogennadi).
84
139
 
85
- == 1.0.1 (2011 May 17)
140
+ 1.0.1 (2011 May 17)
141
+ -------------------
86
142
 
87
143
  * Add option to not rescue from certain exceptions (thanks github.com/ahmedrb).
88
144
  * Fix STI child/parent geocoding bug (thanks github.com/ogennadi).
89
145
  * Other bugfixes.
90
146
 
91
- == 1.0.0 (2011 May 9)
147
+ 1.0.0 (2011 May 9)
148
+ ------------------
92
149
 
93
150
  * Add command line interface.
94
151
  * Add support for local proxy (thanks github.com/Olivier).
@@ -97,11 +154,13 @@ Per-release changes to Geocoder.
97
154
  * Fix single table inheritance bug (reported by github.com/enrico).
98
155
  * Fix bug when Google result supplies no city (thanks github.com/jkeen).
99
156
 
100
- == 0.9.13 (2011 Apr 11)
157
+ 0.9.13 (2011 Apr 11)
158
+ --------------------
101
159
 
102
160
  * Fix "can't find special index: 2d" error when using Mongoid with Ruby 1.8.
103
161
 
104
- == 0.9.12 (2011 Apr 6)
162
+ 0.9.12 (2011 Apr 6)
163
+ -------------------
105
164
 
106
165
  * Add support for Mongoid.
107
166
  * Add bearing_to/from methods to geocoded objects.
@@ -112,7 +171,8 @@ Per-release changes to Geocoder.
112
171
  * DEPRECATION: Geocoder.near should not take <tt>:limit</tt> or <tt>:offset</tt> options.
113
172
  * DEPRECATION: Change argument format of all methods that take lat/lon as separate arguments. Now you must pass the coordinates as an array [lat,lon], but you may alternatively pass a address string (will look up coordinates) or a geocoded object (or any object that implements a to_coordinates method which returns a [lat,lon] array).
114
173
 
115
- == 0.9.11 (2011 Mar 25)
174
+ 0.9.11 (2011 Mar 25)
175
+ --------------------
116
176
 
117
177
  * Add support for result caching.
118
178
  * Add support for Geocoder.ca geocoding service.
@@ -122,12 +182,14 @@ Per-release changes to Geocoder.
122
182
  * DEPRECATION: <tt>Geocoder.search</tt> now returns an array instead of a single result.
123
183
  * DEPRECATION: <tt>obj.nearbys</tt> second argument is now an options hash (instead of units). Please change <tt>obj.nearbys(20, :km)</tt> to: <tt>obj.nearbys(20, :units => :km)</tt>.
124
184
 
125
- == 0.9.10 (2011 Mar 9)
185
+ 0.9.10 (2011 Mar 9)
186
+ -------------------
126
187
 
127
188
  * Fix broken scopes (github.com/mikepinde).
128
189
  * Fix broken Ruby 1.9 and JRuby compatibility (don't require json gem).
129
190
 
130
- == 0.9.9 (2011 Mar 9)
191
+ 0.9.9 (2011 Mar 9)
192
+ ------------------
131
193
 
132
194
  * Add support for IP address geocoding via FreeGeoIp.net.
133
195
  * Add support for Yahoo PlaceFinder geocoding API.
@@ -142,7 +204,8 @@ Per-release changes to Geocoder.
142
204
  * DEPRECATION: <tt>fetch_address!</tt> has been superceded by +reverse_geocode+ (then save your object manually).
143
205
  * Fix: don't die when trying to get coordinates with a nil address (github.com/zmack).
144
206
 
145
- == 0.9.8 (2011 Feb 8)
207
+ 0.9.8 (2011 Feb 8)
208
+ ------------------
146
209
 
147
210
  * Include <tt>geocode:all</tt> Rake task in gem (was missing!).
148
211
  * Add <tt>Geocoder.search</tt> for access to Google's full response.
@@ -150,87 +213,105 @@ Per-release changes to Geocoder.
150
213
  * Emit warnings on Google connection problems and errors.
151
214
  * Refactor: insert Geocoder into ActiveRecord via Railtie.
152
215
 
153
- == 0.9.7 (2011 Feb 1)
216
+ 0.9.7 (2011 Feb 1)
217
+ ------------------
154
218
 
155
219
  * Add reverse geocoding (+reverse_geocoded_by+).
156
220
  * Prevent exception (uninitialized constant Geocoder::Net) when net/http not already required (github.com/sleepycat).
157
221
  * Refactor: split monolithic Geocoder module into several smaller ones.
158
222
 
159
- == 0.9.6 (2011 Jan 19)
223
+ 0.9.6 (2011 Jan 19)
224
+ -------------------
160
225
 
161
226
  * Fix incompatibility with will_paginate gem.
162
227
  * Include table names in GROUP BY clause of nearby scope to avoid ambiguity in joins (github.com/matchu).
163
228
 
164
- == 0.9.5 (2010 Oct 15)
229
+ 0.9.5 (2010 Oct 15)
230
+ -------------------
165
231
 
166
232
  * Fix broken PostgreSQL compatibility (now 100% compatible).
167
233
  * Switch from Google's XML to JSON geocoding API.
168
234
  * Separate Rails 2 and Rails 3-compatible branches.
169
235
  * Don't allow :conditions hash in 'options' argument to 'nearbys' method (was deprecated in 0.9.3).
170
236
 
171
- == 0.9.4 (2010 Aug 2)
237
+ 0.9.4 (2010 Aug 2)
238
+ ------------------
172
239
 
173
240
  * Google Maps API key no longer required (uses geocoder v3).
174
241
 
175
- == 0.9.3 (2010 Aug 2)
242
+ 0.9.3 (2010 Aug 2)
243
+ ------------------
176
244
 
177
245
  * Fix incompatibility with Rails 3 RC 1.
178
246
  * Deprecate 'options' argument to 'nearbys' method.
179
247
  * Allow inclusion of 'nearbys' in Arel method chains.
180
248
 
181
- == 0.9.2 (2010 Jun 3)
249
+ 0.9.2 (2010 Jun 3)
250
+ ------------------
182
251
 
183
252
  * Fix LIMIT clause bug in PostgreSQL (reported by github.com/kenzie).
184
253
 
185
- == 0.9.1 (2010 May 4)
254
+ 0.9.1 (2010 May 4)
255
+ ------------------
186
256
 
187
257
  * Use scope instead of named_scope in Rails 3.
188
258
 
189
- == 0.9.0 (2010 Apr 2)
259
+ 0.9.0 (2010 Apr 2)
260
+ ------------------
190
261
 
191
262
  * Fix bug in PostgreSQL support (caused "PGError: ERROR: column "distance" does not exist"), reported by github.com/developish.
192
263
 
193
- == 0.8.9 (2010 Feb 11)
264
+ 0.8.9 (2010 Feb 11)
265
+ -------------------
194
266
 
195
267
  * Add Rails 3 compatibility.
196
268
  * Avoid querying Google when query would be an empty string.
197
269
 
198
- == 0.8.8 (2009 Dec 7)
270
+ 0.8.8 (2009 Dec 7)
271
+ ------------------
199
272
 
200
273
  * Automatically select a less accurate but compatible distance algorithm when SQLite database detected (fixes SQLite incompatibility).
201
274
 
202
- == 0.8.7 (2009 Nov 4)
275
+ 0.8.7 (2009 Nov 4)
276
+ ------------------
203
277
 
204
278
  * Added Geocoder.geographic_center method.
205
279
  * Replaced _get_coordinates class method with read_coordinates instance method.
206
280
 
207
- == 0.8.6 (2009 Oct 27)
281
+ 0.8.6 (2009 Oct 27)
282
+ -------------------
208
283
 
209
284
  * The fetch_coordinates method now assigns coordinates to attributes (behaves like fetch_coordinates! used to) and fetch_coordinates! both assigns and saves the attributes.
210
285
  * Added geocode:all rake task.
211
286
 
212
- == 0.8.5 (2009 Oct 26)
287
+ 0.8.5 (2009 Oct 26)
288
+ -------------------
213
289
 
214
290
  * Avoid calling deprecated method from within Geocoder itself.
215
291
 
216
- == 0.8.4 (2009 Oct 23)
292
+ 0.8.4 (2009 Oct 23)
293
+ -------------------
217
294
 
218
295
  * Deprecate <tt>find_near</tt> class method in favor of +near+ named scope.
219
296
 
220
- == 0.8.3 (2009 Oct 23)
297
+ 0.8.3 (2009 Oct 23)
298
+ -------------------
221
299
 
222
300
  * Update Google URL query string parameter to reflect recent changes in Google's API.
223
301
 
224
- == 0.8.2 (2009 Oct 12)
302
+ 0.8.2 (2009 Oct 12)
303
+ -------------------
225
304
 
226
305
  * Allow a model's geocoder search string method to be something other than an ActiveRecord attribute.
227
306
  * Clean up documentation.
228
307
 
229
- == 0.8.1 (2009 Oct 8)
308
+ 0.8.1 (2009 Oct 8)
309
+ ------------------
230
310
 
231
311
  * Extract XML-fetching code from <tt>Geocoder.search</tt> and place in Geocoder._fetch_xml (for ease of mocking).
232
312
  * Add tests for coordinate-fetching instance methods.
233
313
 
234
- == 0.8.0 (2009 Oct 1)
314
+ 0.8.0 (2009 Oct 1)
315
+ ------------------
235
316
 
236
317
  First release.