From 2e236b0a0ea9408a8d29643151a2c9f87ded18d4 Mon Sep 17 00:00:00 2001 From: Michael Go Date: Fri, 10 Jan 2025 14:58:23 -0400 Subject: [PATCH] fix expression cache to be compatible with Ruby Hash and LruCache --- lib/liquid/expression.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/liquid/expression.rb b/lib/liquid/expression.rb index f10c25db..f2abb2fc 100644 --- a/lib/liquid/expression.rb +++ b/lib/liquid/expression.rb @@ -44,7 +44,9 @@ module Liquid # Cache only exists during parsing if cache - cache.getset(markup) { inner_parse(markup, ss, cache).freeze } + return cache[markup] if cache.key?(markup) + + cache[markup] = inner_parse(markup, ss, cache).freeze else inner_parse(markup, ss, nil).freeze end