X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/77f9aec772eb4bb1a413e310dd30a8532dccab5c..44ac569d286ce1159f49b2cded184ff0cc4475f5:/app/helpers/browse_tags_helper.rb diff --git a/app/helpers/browse_tags_helper.rb b/app/helpers/browse_tags_helper.rb index 3f720d0e9..e7562081d 100644 --- a/app/helpers/browse_tags_helper.rb +++ b/app/helpers/browse_tags_helper.rb @@ -47,11 +47,10 @@ module BrowseTagsHelper # the correct page. lookup_us = lookup.tr(" ", "_") - if page = WIKI_PAGES.dig(locale, type, lookup_us) - url = "https://wiki.openstreetmap.org/wiki/#{page}?uselang=#{locale}" - elsif page = WIKI_PAGES.dig("en", type, lookup_us) - url = "https://wiki.openstreetmap.org/wiki/#{page}?uselang=#{locale}" - end + page = WIKI_PAGES.dig(locale, type, lookup_us) || + WIKI_PAGES.dig("en", type, lookup_us) + + url = "https://wiki.openstreetmap.org/wiki/#{page}?uselang=#{locale}" if page url end @@ -60,7 +59,8 @@ module BrowseTagsHelper # Some k/v's are wikipedia=http://en.wikipedia.org/wiki/Full%20URL return nil if %r{^https?://}.match?(value) - if key == "wikipedia" + case key + when "wikipedia" # This regex should match Wikipedia language codes, everything # from de to zh-classical lang = if value =~ /^([a-z-]{2,12}):(.+)$/i @@ -71,7 +71,7 @@ module BrowseTagsHelper # Value is so default to English Wikipedia "en" end - elsif key =~ /^wikipedia:(\S+)$/ + when /^wikipedia:(\S+)$/ # Language is in the key, so assume value is the title lang = Regexp.last_match(1) else @@ -83,8 +83,8 @@ module BrowseTagsHelper # Contains a reference to a section of the wikipedia article # Must break it up to correctly build the url value = Regexp.last_match(1) - section = "#" + Regexp.last_match(2) - encoded_section = "#" + CGI.escape(Regexp.last_match(2).gsub(/ +/, "_")).tr("%", ".") + section = "##{Regexp.last_match(2)}" + encoded_section = "##{CGI.escape(Regexp.last_match(2).gsub(/ +/, '_'))}" else section = "" encoded_section = ""