From 8f7f8761d1349b0b835345d71680e51664f085fc Mon Sep 17 00:00:00 2001 From: Dylan Thacker-Smith Date: Thu, 29 Oct 2020 11:24:19 -0400 Subject: [PATCH] Use Array#each instead of Array#inject to avoid an object allocation (#1341) --- lib/liquid/variable.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index 891425cc..95446e17 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -83,9 +83,11 @@ module Liquid end def render(context) - obj = @filters.inject(context.evaluate(@name)) do |output, (filter_name, filter_args, filter_kwargs)| + obj = context.evaluate(@name) + + @filters.each do |filter_name, filter_args, filter_kwargs| filter_args = evaluate_filter_expressions(context, filter_args, filter_kwargs) - context.invoke(filter_name, output, *filter_args) + obj = context.invoke(filter_name, obj, *filter_args) end context.apply_global_filter(obj)