2024-07-12 15:59:03 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
2024-08-14 12:06:37 -04:00
|
|
|
settings = {
|
|
|
|
|
timeout: 5,
|
2025-05-17 14:35:38 -04:00
|
|
|
units: :km,
|
2025-06-02 14:53:35 -04:00
|
|
|
cache: Geocoder::CacheStore::Generic.new(Rails.cache, {}),
|
2024-08-14 12:06:37 -04:00
|
|
|
always_raise: :all,
|
2024-10-19 12:39:01 -04:00
|
|
|
use_https: PHOTON_API_USE_HTTPS,
|
2024-11-24 08:56:20 -05:00
|
|
|
http_headers: { 'User-Agent' => "Dawarich #{APP_VERSION} (https://dawarich.app)" },
|
2024-03-17 13:16:45 -04:00
|
|
|
cache_options: {
|
2024-08-14 12:06:37 -04:00
|
|
|
expiration: 1.day
|
2024-03-17 13:16:45 -04:00
|
|
|
}
|
2024-08-14 12:06:37 -04:00
|
|
|
}
|
|
|
|
|
|
2025-01-07 07:12:14 -05:00
|
|
|
if PHOTON_API_HOST.present?
|
2024-08-14 12:06:37 -04:00
|
|
|
settings[:lookup] = :photon
|
2024-10-17 18:32:16 -04:00
|
|
|
settings[:photon] = { use_https: PHOTON_API_USE_HTTPS, host: PHOTON_API_HOST }
|
2025-05-03 15:46:30 -04:00
|
|
|
settings[:http_headers] = { 'X-Api-Key' => PHOTON_API_KEY } if PHOTON_API_KEY.present?
|
2025-01-07 07:12:14 -05:00
|
|
|
elsif GEOAPIFY_API_KEY.present?
|
|
|
|
|
settings[:lookup] = :geoapify
|
|
|
|
|
settings[:api_key] = GEOAPIFY_API_KEY
|
2025-01-08 22:32:29 -05:00
|
|
|
elsif NOMINATIM_API_HOST.present?
|
|
|
|
|
settings[:lookup] = :nominatim
|
|
|
|
|
settings[:nominatim] = { use_https: NOMINATIM_API_USE_HTTPS, host: NOMINATIM_API_HOST }
|
2025-05-03 15:46:30 -04:00
|
|
|
settings[:api_key] = NOMINATIM_API_KEY if NOMINATIM_API_KEY.present?
|
2025-06-05 15:10:40 -04:00
|
|
|
elsif LOCATIONIQ_API_KEY.present?
|
|
|
|
|
settings[:lookup] = :location_iq
|
|
|
|
|
settings[:api_key] = LOCATIONIQ_API_KEY
|
2024-08-14 12:06:37 -04:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
Geocoder.configure(settings)
|