lib/geokit/geocoders.rb in dreamcat4-geokit-1.3.0 vs lib/geokit/geocoders.rb in dreamcat4-geokit-1.3.1
- old
+ new
@@ -72,35 +72,37 @@
@@provider_order = [:google,:us]
@@logger=Logger.new(STDOUT)
@@logger.level=Logger::INFO
@@domain = nil
- def self.__define_accessors
- class_variables.each do |v|
- sym = v.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
+ def self.domain
+ @@domain
end
- __define_accessors
+ def self.domain=(obj)
+ @@domain = obj
+ end
+
+ [:yahoo, :google, :geocoder_us, :geocoder_ca, :geonames, :provider_order, :timeout,
+ :proxy_addr, :proxy_port, :proxy_user, :proxy_pass, :logger].each do |sym|
+ class_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
# Error which is thrown in the event a geocoding error occurs.
class GeocodeError < StandardError; end
# -------------------------------------------------------------------------------------------