From 60b508b151d8b6f786b2d586109f737f892ccf92 Mon Sep 17 00:00:00 2001 From: Justin Li Date: Mon, 1 Feb 2016 11:26:45 -0500 Subject: [PATCH] Use #each to avoid extra allocations --- lib/liquid/tags/assign.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/liquid/tags/assign.rb b/lib/liquid/tags/assign.rb index 78b86c1..f6cd5fa 100644 --- a/lib/liquid/tags/assign.rb +++ b/lib/liquid/tags/assign.rb @@ -37,7 +37,10 @@ module Liquid if val.instance_of?(String) val.length elsif val.instance_of?(Array) || val.instance_of?(Hash) - val.reduce(0) { |n, child| n + assign_score_of(child) } + sum = 1 + # Uses #each to avoid extra allocations. + val.each { |child| sum += assign_score_of(child) } + sum else 1 end