Class: Geocoder::Configuration
- Inherits:
-
Object
- Object
- Geocoder::Configuration
- Includes:
- Singleton
- Defined in:
- lib/geocoder/configuration.rb
Constant Summary collapse
- OPTIONS =
[ :timeout, :lookup, :ip_lookup, :language, :host, :http_headers, :use_https, :http_proxy, :https_proxy, :api_key, :cache, :always_raise, :units, :distances, :basic_auth, :logger, :kernel_logger_level, :cache_options ]
Instance Attribute Summary collapse
-
#data ⇒ Object
Returns the value of attribute data.
Class Method Summary collapse
Instance Method Summary collapse
- #configure(options) ⇒ Object
-
#initialize ⇒ Configuration
constructor
:nodoc.
- #set_defaults ⇒ Object
Constructor Details
#initialize ⇒ Configuration
:nodoc
97 98 99 100 |
# File 'lib/geocoder/configuration.rb', line 97 def initialize # :nodoc @data = Geocoder::ConfigurationHash.new set_defaults end |
Instance Attribute Details
#data ⇒ Object
Returns the value of attribute data.
74 75 76 |
# File 'lib/geocoder/configuration.rb', line 74 def data @data end |
Class Method Details
.initialize ⇒ Object
80 81 82 |
# File 'lib/geocoder/configuration.rb', line 80 def self.initialize instance.send(:initialize) end |
.set_defaults ⇒ Object
76 77 78 |
# File 'lib/geocoder/configuration.rb', line 76 def self.set_defaults instance.set_defaults end |
Instance Method Details
#configure(options) ⇒ Object
93 94 95 |
# File 'lib/geocoder/configuration.rb', line 93 def configure() Util.recursive_hash_merge(@data, ) end |
#set_defaults ⇒ Object
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
# File 'lib/geocoder/configuration.rb', line 102 def set_defaults # geocoding options @data[:timeout] = 3 # geocoding service timeout (secs) @data[:lookup] = :nominatim # name of street address geocoding service (symbol) @data[:ip_lookup] = :ipinfo_io # name of IP address geocoding service (symbol) @data[:language] = :en # ISO-639 language code @data[:http_headers] = {} # HTTP headers for lookup @data[:use_https] = false # use HTTPS for lookup requests? (if supported) @data[:http_proxy] = nil # HTTP proxy server (user:pass@host:port) @data[:https_proxy] = nil # HTTPS proxy server (user:pass@host:port) @data[:api_key] = nil # API key for geocoding service @data[:basic_auth] = {} # user and password for basic auth ({:user => "user", :password => "password"}) @data[:logger] = :kernel # :kernel or Logger instance @data[:kernel_logger_level] = ::Logger::WARN # log level, if kernel logger is used # exceptions that should not be rescued by default # (if you want to implement custom error handling); # supports SocketError and Timeout::Error @data[:always_raise] = [] # calculation options @data[:units] = :mi # :mi or :km @data[:distances] = :linear # :linear or :spherical # Set the default values for the caching mechanism # By default, the cache keys will not expire as IP addresses and phyiscal # addresses will rarely change. @data[:cache] = nil # cache object (must respond to #[], #[]=, and optionally #keys) @data[:cache_prefix] = nil # - DEPRECATED - prefix (string) to use for all cache keys @data[:cache_options] = { prefix: 'geocoder:', expiration: nil } end |