lib/geokit/geocoders.rb in andre-geokit-1.2.1 vs lib/geokit/geocoders.rb in andre-geokit-1.2.2
- old
+ new
@@ -8,34 +8,34 @@
module Inflector
extend self
def titleize(word)
- humanize(underscore(word)).gsub(/\b([a-z])/) { $1.capitalize }
+ humanize(underscore(word)).gsub(/\b([a-z])/u) { $1.capitalize }
end
def underscore(camel_cased_word)
camel_cased_word.to_s.gsub(/::/, '/').
- gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
- gsub(/([a-z\d])([A-Z])/,'\1_\2').
+ gsub(/([A-Z]+)([A-Z][a-z])/u,'\1_\2').
+ gsub(/([a-z\d])([A-Z])/u,'\1_\2').
tr("-", "_").
downcase
end
def humanize(lower_case_and_underscored_word)
lower_case_and_underscored_word.to_s.gsub(/_id$/, "").gsub(/_/, " ").capitalize
end
def snake_case(s)
- return s.downcase if s =~ /^[A-Z]+$/
- s.gsub(/([A-Z]+)(?=[A-Z][a-z]?)|\B[A-Z]/, '_\&') =~ /_*(.*)/
+ return s.downcase if s =~ /^[A-Z]+$/u
+ s.gsub(/([A-Z]+)(?=[A-Z][a-z]?)|\B[A-Z]/u, '_\&') =~ /_*(.*)/
return $+.downcase
end
def url_escape(s)
- s.gsub(/([^ a-zA-Z0-9_.-]+)/n) do
+ s.gsub(/([^ a-zA-Z0-9_.-]+)/nu) do
'%' + $1.unpack('H2' * $1.size).join('%').upcase
end.tr(' ', '+')
end
end
# Contains a set of geocoders which can be used independently if desired. The list contains:
@@ -209,15 +209,16 @@
private
# Template method which does the reverse-geocode lookup.
def self.do_reverse_geocode(latlng)
- res = self.call_geocoder_service("http://maps.google.com/maps/geo?ll=#{Geokit::Inflector::url_escape(latlng)}&output=xml&key=#{Geokit::Geocoders::google}&oe=utf-8")
+ latlng=LatLng.normalize(latlng)
+ res = self.call_geocoder_service("http://maps.google.com/maps/geo?ll=#{Geokit::Inflector::url_escape(latlng.ll)}&output=xml&key=#{Geokit::Geocoders::google}&oe=utf-8")
# res = Net::HTTP.get_response(URI.parse("http://maps.google.com/maps/geo?ll=#{Geokit::Inflector::url_escape(address_str)}&output=xml&key=#{Geokit::Geocoders::google}&oe=utf-8"))
return GeoLoc.new if !res.is_a?(Net::HTTPSuccess)
xml = res.body
- logger.debug "Google reverse-geocoding. LL: #{latlng}. Result: #{xml}"
+ logger.debug "Google reverse-geocoding. LL: #{latlng.ll}. Result: #{xml}"
return self.xml2GeoLoc(xml)
end
# Template method which does the geocode lookup.
def self.do_geocode(address)
@@ -480,6 +481,6 @@
# If we get here, we failed completely.
GeoLoc.new
end
end
end
-end
\ No newline at end of file
+end