From a796c17f8bfd2ad11d748f6dbbf943724d0d2805 Mon Sep 17 00:00:00 2001 From: Maxime Bedard Date: Tue, 19 Sep 2017 16:23:14 -0400 Subject: [PATCH 1/2] Avoid hash with default values due to inconsistent marshalling --- lib/liquid/tags/cycle.rb | 4 ++-- lib/liquid/tags/for.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/liquid/tags/cycle.rb b/lib/liquid/tags/cycle.rb index 345b988..f403199 100644 --- a/lib/liquid/tags/cycle.rb +++ b/lib/liquid/tags/cycle.rb @@ -30,11 +30,11 @@ module Liquid end def render(context) - context.registers[:cycle] ||= Hash.new(0) + context.registers[:cycle] ||= Hash.new context.stack do key = context.evaluate(@name) - iteration = context.registers[:cycle][key] + iteration = context.registers[:cycle][key].to_i result = context.evaluate(@variables[iteration]) iteration += 1 iteration = 0 if iteration >= @variables.size diff --git a/lib/liquid/tags/for.rb b/lib/liquid/tags/for.rb index 2356b14..a3566ad 100644 --- a/lib/liquid/tags/for.rb +++ b/lib/liquid/tags/for.rb @@ -120,7 +120,7 @@ module Liquid private def collection_segment(context) - offsets = context.registers[:for] ||= Hash.new(0) + offsets = context.registers[:for] ||= Hash.new from = if @from == :continue offsets[@name].to_i From f761d2121521cd63ee7d33df0227a38b5a970fa3 Mon Sep 17 00:00:00 2001 From: Maxime Bedard Date: Wed, 20 Sep 2017 09:48:23 -0400 Subject: [PATCH 2/2] Use {} notation --- lib/liquid/tags/cycle.rb | 2 +- lib/liquid/tags/for.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/liquid/tags/cycle.rb b/lib/liquid/tags/cycle.rb index f403199..ad116a6 100644 --- a/lib/liquid/tags/cycle.rb +++ b/lib/liquid/tags/cycle.rb @@ -30,7 +30,7 @@ module Liquid end def render(context) - context.registers[:cycle] ||= Hash.new + context.registers[:cycle] ||= {} context.stack do key = context.evaluate(@name) diff --git a/lib/liquid/tags/for.rb b/lib/liquid/tags/for.rb index a3566ad..d8e0852 100644 --- a/lib/liquid/tags/for.rb +++ b/lib/liquid/tags/for.rb @@ -120,7 +120,7 @@ module Liquid private def collection_segment(context) - offsets = context.registers[:for] ||= Hash.new + offsets = context.registers[:for] ||= {} from = if @from == :continue offsets[@name].to_i