lib/google_geocode.rb in google-geocode-1.0.0 vs lib/google_geocode.rb in google-geocode-1.1.0
- old
+ new
@@ -62,14 +62,22 @@
def check_error(obj)
obj = REXML::Document.new obj.read unless REXML::Document === obj
status = obj.elements['/kml/Response/Status/code'].text.to_i
case status
- when 200 # ignore, ok
- when 602
- raise AddressError, 'invalid address'
- when 610
+ when 200 then # ignore, ok
+ when 500 then
+ raise Error, 'server error'
+ when 601 then
+ raise AddressError, 'missing address'
+ when 602 then
+ raise AddressError, 'unknown address'
+ when 603 then
+ raise AddressError, 'unavailable address'
+ when 610 then
raise KeyError, 'invalid key'
+ when 620 then
+ raise KeyError, 'too many queries'
else
raise Error, "unknown error #{status}"
end
end