def check_database_writable(need_api: false)
if Settings.status == "database_offline" || Settings.status == "database_readonly" ||
- (need_api && (Settings.status == "api_offline" || Settings.status == "api_readonly"))
+ (need_api && %w[api_offline api_readonly].include?(Settings.status))
if request.xhr?
report_error "Database offline for maintenance", :service_unavailable
else
begin
referer = URI.parse(referer)
- if referer.scheme == "http" || referer.scheme == "https"
+ if %w[http https].include?(referer.scheme)
referer.scheme = nil
referer.host = nil
referer.port = nil
if klass == "boundary" && type == "administrative"
rank = (place.attributes["address_rank"].to_i + 1) / 2
prefix_name = t "geocoder.search_osm_nominatim.admin_levels.level#{rank}", :default => prefix_name
+ place_tags = %w[linked_place place]
place.elements["extratags"].elements.each("tag") do |extratag|
- prefix_name = t "geocoder.search_osm_nominatim.prefix.place.#{extratag.attributes['value']}", :default => prefix_name if extratag.attributes["key"] == "linked_place" || extratag.attributes["key"] == "place"
+ prefix_name = t "geocoder.search_osm_nominatim.prefix.place.#{extratag.attributes['value']}", :default => prefix_name if place_tags.include?(extratag.attributes["key"])
end
end
prefix = t ".prefix_format", :name => prefix_name
end
def index
- session[:location] ||= OSM.ip_location(request.env["REMOTE_ADDR"]) unless Settings.status == "database_readonly" || Settings.status == "database_offline"
+ session[:location] ||= OSM.ip_location(request.env["REMOTE_ADDR"]) unless %w[database_readonly database_offline].include?(Settings.status)
end
def permalink
end
def public?
- visibility == "public" || visibility == "identifiable"
+ %w[public identifiable].include?(visibility)
end
def trackable?
- visibility == "trackable" || visibility == "identifiable"
+ %w[trackable identifiable].include?(visibility)
end
def identifiable?