From 0d1d77e551f6d44625937daab32c4c09ec48984f Mon Sep 17 00:00:00 2001 From: Youssef Makboul Date: Wed, 27 Nov 2024 16:00:48 -0500 Subject: [PATCH] use is_a instead of instance and ignore nils --- lib/liquid/tags/assign.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/liquid/tags/assign.rb b/lib/liquid/tags/assign.rb index 438533b0..2acfddb4 100644 --- a/lib/liquid/tags/assign.rb +++ b/lib/liquid/tags/assign.rb @@ -51,14 +51,16 @@ module Liquid private def assign_score_of(val) - if val.instance_of?(String) + return 0 if val.nil? + + if val.is_a?(String) val.bytesize - elsif val.instance_of?(Array) + elsif val.is_a?(Array) sum = 1 # Uses #each to avoid extra allocations. val.each { |child| sum += assign_score_of(child) } sum - elsif val.instance_of?(Hash) + elsif val.is_a?(Hash) sum = 1 val.each do |key, entry_value| sum += assign_score_of(key)