From aead4c5daa9db39e85e4dcdd8214a04ec318975a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20S=C3=B8gaard?= Date: Thu, 16 Sep 2021 19:10:50 +0200 Subject: [PATCH] Refactor filter --- lib/liquid/standardfilters.rb | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index e12ad851..a2b1d13a 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -298,16 +298,7 @@ module Liquid # Replace the last occurrences of a string with another def replace_last(input, string, replacement) - start_index = input.to_s.rindex(string.to_s) - - unless start_index.nil? - end_index = start_index + replacement.to_s.length - - duplicate = input.to_s.dup - duplicate[start_index, end_index] = replacement.to_s - - duplicate - end + input.to_s.sub(/.*\K#{Regexp.escape(string.to_s)}/, replacement.to_s) end # remove a substring