mirror of
https://github.com/Shopify/liquid.git
synced 2026-09-16 01:10:41 -07:00
Standard filter truncate: truncate_string string coercion
The argument `truncate_string` is now coerced into a string to avoid `NoMethodError`s. This is mostly for added resiliency. It is doubtful that someone would actually intent to use a number as truncate string, but accidentally supplying one is entirely possible.
This commit is contained in:
@@ -65,9 +65,10 @@ module Liquid
|
||||
return if input.nil?
|
||||
input_str = input.to_s
|
||||
length = Utils.to_integer(length)
|
||||
l = length - truncate_string.length
|
||||
truncate_string_str = truncate_string.to_s
|
||||
l = length - truncate_string_str.length
|
||||
l = 0 if l < 0
|
||||
input_str.length > length ? input_str[0...l] + truncate_string : input_str
|
||||
input_str.length > length ? input_str[0...l] + truncate_string_str : input_str
|
||||
end
|
||||
|
||||
def truncatewords(input, words = 15, truncate_string = "...".freeze)
|
||||
|
||||
Reference in New Issue
Block a user