Use Array#each instead of Array#inject to avoid an object allocation (#1341)

This commit is contained in:
Dylan Thacker-Smith
2020-10-29 11:24:19 -04:00
committed by GitHub
parent a3ff300419
commit 8f7f8761d1

View File

@@ -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)