Current section
Files
Jump to
Current section
Files
lib/liquid/increment.ex
defmodule Liquid.Increment do
alias Liquid.Tag
alias Liquid.Template
alias Liquid.Context
alias Liquid.Variable
def parse(%Tag{}=tag, %Template{}=template) do
{tag, template }
end
def render(output, %Tag{markup: markup}, %Context{}=context) do
variable = Variable.create(markup)
{ value, context } = Variable.lookup(variable, context)
value = value || 0
result_assign = context.assigns |> Map.put(markup, value + 1)
context = %{context | assigns: result_assign }
{ output ++ [value], context }
end
end