From a12ca312aa554a53df2b73be0be3724f3a194b83 Mon Sep 17 00:00:00 2001 From: Marwin Hochfelsner <50826859+hlfan@users.noreply.github.com> Date: Thu, 11 Dec 2025 11:33:17 +0100 Subject: [PATCH] Stop arguments in path or query from being interpreted as hashes --- lib/tag2link.rb | 2 +- test/lib/tag2link_test.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/tag2link.rb b/lib/tag2link.rb index e0b2760b7..3d835fc89 100644 --- a/lib/tag2link.rb +++ b/lib/tag2link.rb @@ -12,7 +12,7 @@ module Tag2link url_template = @dict[key] return nil unless url_template - url_template.gsub("$1", value) + url_template.gsub("$1", value.sub(/^#/, "")) end def self.build_dict(data) diff --git a/test/lib/tag2link_test.rb b/test/lib/tag2link_test.rb index cc207cfa8..8fdf7e9e3 100644 --- a/test/lib/tag2link_test.rb +++ b/test/lib/tag2link_test.rb @@ -16,6 +16,11 @@ class Tag2linkTest < ActiveSupport::TestCase assert_equal "https://www.wikidata.org/entity/Q936", url end + def test_link_strips_path_terminators + url = Tag2link.link("hashtags", "#maproulette") + assert_equal "https://resultmaps.neis-one.org/osm-changesets?comment=maproulette", url + end + def test_build_dict_rejects_deprecated_and_third_party data = [ { "key" => "Key:example", "url" => "http://example.com/$1", "rank" => "deprecated", "source" => "osmwiki:P8" }, -- 2.39.5