Add a variable_name method Increment and Decrement tags objects (#1609)

In order to expose this state when using the parse tree.
This commit is contained in:
Dylan Thacker-Smith
2022-08-31 09:18:33 -04:00
committed by GitHub
parent eb89f22d93
commit 3a736da222
2 changed files with 12 additions and 6 deletions
+6 -3
View File
@@ -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
+6 -3
View File
@@ -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