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