From 7e322f5cf8f35d6e95caca68775bbc1e8055e1d3 Mon Sep 17 00:00:00 2001 From: Pat Hawks Date: Sat, 23 Jan 2016 23:18:51 -0800 Subject: [PATCH] Performance improvement: `default` filter --- lib/liquid/standardfilters.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index caeb5d4..651ea36 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -341,9 +341,12 @@ module Liquid raise Liquid::FloatDomainError, e.message end - def default(input, default_value = "".freeze) - is_blank = input.respond_to?(:empty?) ? input.empty? : !input - is_blank ? default_value : input + def default(input, default_value = ''.freeze) + if !input || input.respond_to?(:empty?) && input.empty? + default_value + else + input + end end private