rails-geocoder 0.8.2 → 0.8.3

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.
data/CHANGELOG.rdoc CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  Per-release changes to Geocoder.
4
4
 
5
+ == 0.8.3 (2009 Oct 23)
6
+
7
+ * Update Google URL query string parameter to reflect recent changes in Google's API.
8
+
9
+ == 0.8.2 (2009 Oct 12)
10
+
11
+ * Allow a model's geocoder search string method to be something other than an ActiveRecord attribute.
12
+ * Clean up documentation.
13
+
5
14
  == 0.8.1 (2009 Oct 8)
6
15
 
7
16
  * Extract XML-fetching code from Geocoder.search and place in Geocoder._fetch_xml (for ease of mocking).
data/README.rdoc CHANGED
@@ -18,6 +18,10 @@ or as a gem:
18
18
 
19
19
  == 2. Configure
20
20
 
21
+ First, you must get a Google Maps API key (to get one go to http://code.google.com/apis/maps/signup.html) and store it in a constant:
22
+
23
+ GOOGLE_MAPS_API_KEY = "..."
24
+
21
25
  To add geocoding features to a class:
22
26
 
23
27
  geocoded_by :location
data/Rakefile CHANGED
@@ -8,7 +8,7 @@ begin
8
8
  gem.summary = %Q{Add geocoding functionality to Rails models.}
9
9
  gem.description = %Q{Geocoder adds object geocoding and database-agnostic distance calculations to Ruby on Rails. It does not rely on proprietary database functions so finding geocoded objects in a given area is easily done using out-of-the-box MySQL or even SQLite.}
10
10
  gem.email = "alex@alexreisner.com"
11
- gem.homepage = "http://github.com/alexreisner/geocoder"
11
+ gem.homepage = "http://code.alexreisner.com/code/geocoder.html"
12
12
  gem.authors = ["Alex Reisner"]
13
13
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
14
14
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.2
1
+ 0.8.3
data/lib/geocoder.rb CHANGED
@@ -130,7 +130,7 @@ module Geocoder
130
130
 
131
131
  ##
132
132
  # Fetch coordinates based on the object's location.
133
- # Returns an array <tt>[lat,lon]</tt>.search
133
+ # Returns an array <tt>[lat,lon]</tt>.
134
134
  #
135
135
  def fetch_coordinates
136
136
  location = send(self.class.geocoder_options[:method_name])
@@ -207,25 +207,25 @@ module Geocoder
207
207
 
208
208
  ##
209
209
  # Query Google for geographic information about the given phrase.
210
- # Returns the XML response as a hash. This method is not intended for
211
- # general use (prefer Geocoder.search).
212
- #
213
- # Google's XML document has incorrect encoding (says UTF-8 but is actually
214
- # ISO 8859-1). We have to fix this or REXML won't parse it correctly.
215
- # This may be fixed in the future; see the bug report at:
216
- # http://code.google.com/p/gmaps-api-issues/issues/detail?id=233
217
210
  #
218
211
  def self.search(query)
219
212
  if doc = _fetch_xml(query)
220
- REXML::Document.new(doc.sub('UTF-8', 'ISO-8859-1'))
213
+ REXML::Document.new(doc)
221
214
  end
222
215
  end
223
216
 
224
217
  ##
225
218
  # Request an XML geo search result from Google.
219
+ # This method is not intended for general use (prefer Geocoder.search).
226
220
  #
227
221
  def self._fetch_xml(query)
228
- params = { :q => query, :output => "xml" }
222
+ params = {
223
+ :q => query,
224
+ :key => GOOGLE_MAPS_API_KEY,
225
+ :output => "xml",
226
+ :sensor => "false",
227
+ :oe => "utf8"
228
+ }
229
229
  url = "http://maps.google.com/maps/geo?" + params.to_query
230
230
 
231
231
  # Query geocoder and make sure it responds quickly.
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rails-geocoder}
8
- s.version = "0.8.2"
8
+ s.version = "0.8.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alex Reisner"]
12
- s.date = %q{2009-10-12}
12
+ s.date = %q{2009-10-23}
13
13
  s.description = %q{Geocoder adds object geocoding and database-agnostic distance calculations to Ruby on Rails. It does not rely on proprietary database functions so finding geocoded objects in a given area is easily done using out-of-the-box MySQL or even SQLite.}
14
14
  s.email = %q{alex@alexreisner.com}
15
15
  s.extra_rdoc_files = [
@@ -31,7 +31,7 @@ Gem::Specification.new do |s|
31
31
  "test/geocoder_test.rb",
32
32
  "test/test_helper.rb"
33
33
  ]
34
- s.homepage = %q{http://github.com/alexreisner/geocoder}
34
+ s.homepage = %q{http://code.alexreisner.com/code/geocoder.html}
35
35
  s.rdoc_options = ["--charset=UTF-8"]
36
36
  s.require_paths = ["lib"]
37
37
  s.rubygems_version = %q{1.3.5}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails-geocoder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Reisner
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-12 00:00:00 -04:00
12
+ date: 2009-10-23 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -37,7 +37,7 @@ files:
37
37
  - test/geocoder_test.rb
38
38
  - test/test_helper.rb
39
39
  has_rdoc: true
40
- homepage: http://github.com/alexreisner/geocoder
40
+ homepage: http://code.alexreisner.com/code/geocoder.html
41
41
  licenses: []
42
42
 
43
43
  post_install_message: