From 8b0774b51958411a214c99428c518eeb276ca14a Mon Sep 17 00:00:00 2001 From: Kelley Reynolds Date: Tue, 16 Dec 2014 10:37:05 -0500 Subject: [PATCH 1/2] Fix case sensitivity regression in date standard filter --- lib/liquid/standardfilters.rb | 2 +- test/integration/standard_filter_test.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index bbbda38..d817539 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -307,7 +307,7 @@ module Liquid return obj if obj.respond_to?(:strftime) case obj - when 'now'.freeze, 'today'.freeze + when /\A(?:now|today)\z/i Time.now when /\A\d+\z/, Integer Time.at(obj.to_i) diff --git a/test/integration/standard_filter_test.rb b/test/integration/standard_filter_test.rb index 3fb9df8..06c21ed 100644 --- a/test/integration/standard_filter_test.rb +++ b/test/integration/standard_filter_test.rb @@ -249,6 +249,7 @@ class StandardFiltersTest < Minitest::Test assert_equal "07/16/2004", @filters.date("Fri Jul 16 01:00:00 2004", "%m/%d/%Y") assert_equal "#{Date.today.year}", @filters.date('now', '%Y') assert_equal "#{Date.today.year}", @filters.date('today', '%Y') + assert_equal "#{Date.today.year}", @filters.date('Today', '%Y') assert_equal nil, @filters.date(nil, "%B") From 84fddba2e1ccfddb67c5e454b4a75ce8dcef883b Mon Sep 17 00:00:00 2001 From: Kelley Reynolds Date: Thu, 18 Dec 2014 13:01:23 -0500 Subject: [PATCH 2/2] Remove regex for downcase and is_a?(String) --- lib/liquid/standardfilters.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index d817539..550908f 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -306,8 +306,10 @@ module Liquid def to_date(obj) return obj if obj.respond_to?(:strftime) + obj = obj.downcase if obj.is_a?(String) + case obj - when /\A(?:now|today)\z/i + when 'now'.freeze, 'today'.freeze Time.now when /\A\d+\z/, Integer Time.at(obj.to_i)