Class: Geocoder2::Configuration

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/geocoder2/configuration.rb

Constant Summary collapse

OPTIONS =
[
  :timeout,
  :lookup,
  :ip_lookup,
  :language,
  :http_headers,
  :use_https,
  :http_proxy,
  :https_proxy,
  :api_key,
  :cache,
  :cache_prefix,
  :always_raise,
  :units,
  :distances
]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

:nodoc



86
87
88
89
# File 'lib/geocoder2/configuration.rb', line 86

def initialize # :nodoc
  @data = Geocoder2::ConfigurationHash.new
  set_defaults
end

Instance Attribute Details

#dataObject

Returns the value of attribute data.



67
68
69
# File 'lib/geocoder2/configuration.rb', line 67

def data
  @data
end

Class Method Details

.set_defaultsObject



69
70
71
# File 'lib/geocoder2/configuration.rb', line 69

def self.set_defaults
  instance.set_defaults
end

Instance Method Details

#configure(options) ⇒ Object



82
83
84
# File 'lib/geocoder2/configuration.rb', line 82

def configure(options)
  @data.rmerge!(options)
end

#set_defaultsObject



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/geocoder2/configuration.rb', line 91

def set_defaults

  # geocoding options
  @data[:timeout]      = 3           # geocoding service timeout (secs)
  @data[:lookup]       = :google     # name of street address geocoding service (symbol)
  @data[:ip_lookup]    = :freegeoip  # 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[:cache]        = nil         # cache object (must respond to #[], #[]=, and #keys)
  @data[:cache_prefix] = "geocoder2:" # prefix (string) to use for all cache keys

  # exceptions that should not be rescued by default
  # (if you want to implement custom error handling);
  # supports SocketError and TimeoutError
  @data[:always_raise] = []

  # calculation options
  @data[:units]     = :mi      # :mi or :km
  @data[:distances] = :linear  # :linear or :spherical
end