class MagicAddresses::GeoCoder
Public Class Methods
log( stuff = " " )
click to toggle source
# File lib/app/models/magic_addresses/geo_coder.rb, line 38 def self.log( stuff = " " ) if Rails.env.test? puts "#: #{stuff}" elsif !Rails.env.production? Rails.logger.info "### #{stuff}" end end
search( q = "", language = "de" )
click to toggle source
# File lib/app/models/magic_addresses/geo_coder.rb, line 4 def self.search( q = "", language = "de" ) if q.present? log "GeoCode (#{language}): #{q}" attempts = 0 begin search_via_google results = Geocoder.search( q, language: language ) log " - google: [#{results.count}]" return results rescue Exception => e log "! Google-Error: #{e} !" sleep 0.3 attempts += 1 end while attempts < 3 unless results search_via_nominatim results = Geocoder.search( q, language: language ) log " - nominatim: [#{results.count}]" end else results = [] end return results end
search_via_google()
click to toggle source
# File lib/app/models/magic_addresses/geo_coder.rb, line 30 def self.search_via_google Geocoder.configure( :lookup => :google ) end
search_via_nominatim()
click to toggle source
# File lib/app/models/magic_addresses/geo_coder.rb, line 34 def self.search_via_nominatim Geocoder.configure( :lookup => :nominatim ) end