Module: Kaupert::Geocoders
- Defined in:
- lib/kaupert/geocoding.rb
Overview
Contains a range of geocoders:
"regular" address geocoders
- Yahoo Geocoder - requires an API key.
address geocoders that also provide reverse geocoding
- Google Geocoder - requires an API key.
IP address geocoders
- IP Geocoder - geocodes an IP address using hostip.info's web service.
- Geoplugin.net -- another IP address geocoder
The Multigeocoder
- Multi Geocoder - provides failover for the physical location geocoders.
Some of these geocoders require configuration. You don't have to provide it here. See the README.
Defined Under Namespace
Classes: GeoPluginGeocoder, GeocodeError, Geocoder, GoogleGeocoder3, IpGeocoder, MultiGeocoder, YahooGeocoder
Constant Summary collapse
- @@proxy_addr =
nil- @@proxy_port =
nil- @@proxy_user =
nil- @@proxy_pass =
nil- @@request_timeout =
nil- @@yahoo =
'REPLACE_WITH_YOUR_YAHOO_KEY'- @@google =
'REPLACE_WITH_YOUR_GOOGLE_KEY'- @@geocoder_us =
false- @@geocoder_ca =
false- @@geonames =
false- @@provider_order =
[:google3]
- @@ip_provider_order =
[:geo_plugin,:ip]
- @@logger =
Logger.new(STDOUT)
- @@domain =
nil
Class Method Summary collapse
Class Method Details
.__define_accessors ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/kaupert/geocoding.rb', line 91 def self.__define_accessors class_variables.each do |v| sym = v.to_s.delete("@").to_sym unless self.respond_to? sym module_eval <<-EOS, __FILE__, __LINE__ def self.#{sym} value = if defined?(#{sym.to_s.upcase}) #{sym.to_s.upcase} else @@#{sym} end if value.is_a?(Hash) value = (self.domain.nil? ? nil : value[self.domain]) || value.values.first end value end def self.#{sym}=(obj) @@#{sym} = obj end EOS end end end |