google_directions 0.1.1 → 0.1.2
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/README.textile +15 -1
- data/Rakefile +1 -1
- data/google_directions.gemspec +2 -2
- data/lib/google_directions.rb +2 -2
- data/test/test_helper.rb +1 -1
- data/test/unit/google_directions_test.rb +1 -1
- metadata +4 -4
data/README.textile
CHANGED
@@ -20,9 +20,13 @@ xml_call = directions.xml_call
|
|
20
20
|
|
21
21
|
h3. Error situations
|
22
22
|
|
23
|
+
status: NOT_FOUND
|
24
|
+
|
23
25
|
If Google can't recognize your places, the distance_in_miles and drive_time_in_minutes will each return 0. You can call <pre>directions.status</pre> and it should return "NOT_FOUND" (directions.status will also return any other Google API call statuses)
|
24
26
|
|
25
|
-
|
27
|
+
status: OVER_QUERY_LIMIT
|
28
|
+
|
29
|
+
If Google thinks you've hit their API too many times in day, or too rapidly, for your given IP address and API key; they might return OVER_QUERY_LIMIT. In this case distance_in_miles and drive_time_in_minutes will each return 0. You can call <pre>directions.status</pre> and it should return "OVER_QUERY_LIMIT"
|
26
30
|
|
27
31
|
h2. Installation
|
28
32
|
|
@@ -58,3 +62,13 @@ http://code.google.com/apis/maps/signup.html
|
|
58
62
|
|
59
63
|
Include it as the constant GOOGLE_MAPS_API_KEY in an app configuration file (environment.rb, config/initializers/api_keys.rb)
|
60
64
|
|
65
|
+
h3. Need turn-by-turn directions?
|
66
|
+
|
67
|
+
Not yet included in this gem, but you can do it with nokogiri to parse the XML that comes back when you do
|
68
|
+
<pre>GoogleDirections.new(origin, destination).xml</pre>
|
69
|
+
And then nokogiri can cycle through each <step> and you can pick out what you need.
|
70
|
+
|
71
|
+
h2. License
|
72
|
+
|
73
|
+
Anyone can use this code in any way.
|
74
|
+
|
data/Rakefile
CHANGED
@@ -3,7 +3,7 @@ require 'rubygems'
|
|
3
3
|
require 'rake'
|
4
4
|
require 'echoe'
|
5
5
|
|
6
|
-
Echoe.new('google_directions', '0.1.
|
6
|
+
Echoe.new('google_directions', '0.1.2') do |p|
|
7
7
|
p.description = "Ruby-wrapper for Google Directions API. Can return the drive time and driving distance between to places"
|
8
8
|
p.url = "http://github.com/joshcrews/Google-Directions-Ruby"
|
9
9
|
p.author = "Josh Crews"
|
data/google_directions.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{google_directions}
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Josh Crews"]
|
9
|
-
s.date = %q{2010-07-
|
9
|
+
s.date = %q{2010-07-15}
|
10
10
|
s.description = %q{Ruby-wrapper for Google Directions API. Can return the drive time and driving distance between to places}
|
11
11
|
s.email = %q{josh@joshcrews.com}
|
12
12
|
s.extra_rdoc_files = ["README.textile", "lib/google_directions.rb"]
|
data/lib/google_directions.rb
CHANGED
@@ -31,7 +31,7 @@ class GoogleDirections
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def drive_time_in_minutes
|
34
|
-
if @status == "NOT_FOUND"
|
34
|
+
if @status == "NOT_FOUND" or @status == "OVER_QUERY_LIMIT"
|
35
35
|
drive_time = 0
|
36
36
|
else
|
37
37
|
doc = Nokogiri::XML(@xml)
|
@@ -41,7 +41,7 @@ class GoogleDirections
|
|
41
41
|
end
|
42
42
|
|
43
43
|
def distance_in_miles
|
44
|
-
if @status == "NOT_FOUND"
|
44
|
+
if @status == "NOT_FOUND" or @status == "OVER_QUERY_LIMIT"
|
45
45
|
distance_in_miles = 0
|
46
46
|
else
|
47
47
|
doc = Nokogiri::XML(@xml)
|
data/test/test_helper.rb
CHANGED
@@ -10,7 +10,7 @@ class GoogleDirectionsTest < Test::Unit::TestCase
|
|
10
10
|
directions = GoogleDirections.new("121 Gordonsville Highway, 37030", "499 Gordonsville Highway, 38563")
|
11
11
|
assert_equal(4, directions.distance_in_miles)
|
12
12
|
assert_equal(6, directions.drive_time_in_minutes)
|
13
|
-
assert_equal("http://maps.google.com/maps/api/directions/xml?key=
|
13
|
+
assert_equal("http://maps.google.com/maps/api/directions/xml?key=afakeapithatworksanyway&sensor=false&origin=121+Gordonsville+Highway,+37030&destination=499+Gordonsville+Highway,+38563", directions.xml_call)
|
14
14
|
assert_not_nil(directions.xml =~ /36\.1773300/)
|
15
15
|
end
|
16
16
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google_directions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Josh Crews
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-07-
|
18
|
+
date: 2010-07-15 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|