From c2c1497ca87db47e300fdfa431320ff7f059aacd Mon Sep 17 00:00:00 2001 From: Ashwin Maroli Date: Mon, 22 Jul 2019 20:42:37 +0530 Subject: [PATCH 1/2] Reduce allocations while registering Liquid tags --- lib/liquid/template.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/liquid/template.rb b/lib/liquid/template.rb index 35db6747..91369677 100644 --- a/lib/liquid/template.rb +++ b/lib/liquid/template.rb @@ -50,7 +50,9 @@ module Liquid private def lookup_class(name) - name.split("::").reject(&:empty?).reduce(Object) { |scope, const| scope.const_get(const) } + names = name.split("::".freeze) + names.reject!(&:empty?) + names.reduce(Object) { |scope, const| scope.const_get(const) } end end From 00702d8e6308759b9a6748c79714e41e2493f12a Mon Sep 17 00:00:00 2001 From: Ashwin Maroli Date: Wed, 7 Aug 2019 11:44:53 +0530 Subject: [PATCH 2/2] Use `Object.const_get` directly --- lib/liquid/template.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/liquid/template.rb b/lib/liquid/template.rb index 91369677..91e30fbc 100644 --- a/lib/liquid/template.rb +++ b/lib/liquid/template.rb @@ -50,9 +50,7 @@ module Liquid private def lookup_class(name) - names = name.split("::".freeze) - names.reject!(&:empty?) - names.reduce(Object) { |scope, const| scope.const_get(const) } + Object.const_get(name) end end