class Liquid::Increment

increment is used in a place where one needs to insert a counter

  into a template, and needs the counter to survive across
  multiple instantiations of the template.
  (To achieve the survival, the application must keep the context)

  if the variable does not exist, it is created with value 0.

Hello: {% increment variable %}

gives you:

Hello: 0
Hello: 1
Hello: 2

Public Class Methods

new(tag_name, markup, options) click to toggle source
Calls superclass method Liquid::Tag::new
# File lib/liquid/tags/increment.rb, line 18
def initialize(tag_name, markup, options)
  super
  @variable = markup.strip
end

Public Instance Methods

render(context) click to toggle source
# File lib/liquid/tags/increment.rb, line 23
def render(context)
  value = context.environments.first[@variable] ||= 0
  context.environments.first[@variable] = value + 1
  value.to_s
end