Class: Geocoder::Configuration

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/geocoder/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



80
81
82
83
# File 'lib/geocoder/configuration.rb', line 80

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

Instance Attribute Details

#dataObject

Returns the value of attribute data



61
62
63
# File 'lib/geocoder/configuration.rb', line 61

def data
  @data
end

Class Method Details

.set_defaultsObject



63
64
65
# File 'lib/geocoder/configuration.rb', line 63

def self.set_defaults
  instance.set_defaults
end

Instance Method Details

#configure(options) ⇒ Object



76
77
78
# File 'lib/geocoder/configuration.rb', line 76

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

#set_defaultsObject



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/geocoder/configuration.rb', line 85

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] = "geocoder:" # 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