diff --git a/lib/liquid/tags/decrement.rb b/lib/liquid/tags/decrement.rb index f1e67e2e7..1a2154d3b 100644 --- a/lib/liquid/tags/decrement.rb +++ b/lib/liquid/tags/decrement.rb @@ -19,15 +19,18 @@ module Liquid # {% decrement variable_name %} # @liquid_syntax_keyword variable_name The name of the variable being decremented. class Decrement < Tag + attr_reader :variable_name + def initialize(tag_name, markup, options) super - @variable = markup.strip + @variable_name = markup.strip end def render_to_output_buffer(context, output) - value = context.environments.first[@variable] ||= 0 + counter_environment = context.environments.first + value = counter_environment[@variable_name] || 0 value -= 1 - context.environments.first[@variable] = value + counter_environment[@variable_name] = value output << value.to_s output end diff --git a/lib/liquid/tags/increment.rb b/lib/liquid/tags/increment.rb index f3edd3bc9..2965b3b12 100644 --- a/lib/liquid/tags/increment.rb +++ b/lib/liquid/tags/increment.rb @@ -19,14 +19,17 @@ module Liquid # {% increment variable_name %} # @liquid_syntax_keyword variable_name The name of the variable being incremented. class Increment < Tag + attr_reader :variable_name + def initialize(tag_name, markup, options) super - @variable = markup.strip + @variable_name = markup.strip end def render_to_output_buffer(context, output) - value = context.environments.first[@variable] ||= 0 - context.environments.first[@variable] = value + 1 + counter_environment = context.environments.first + value = counter_environment[@variable_name] || 0 + counter_environment[@variable_name] = value + 1 output << value.to_s output