class Liquid::Unless

Unless is a conditional just like 'if' but works on the inverse logic.

{% unless x < 0 %} x is greater than zero {% endunless %}

Public Instance Methods

render(context) click to toggle source
# File lib/liquid/tags/unless.rb, line 9
def render(context)
  context.stack do
    # First condition is interpreted backwards ( if not )
    first_block = @blocks.first
    unless first_block.evaluate(context)
      return first_block.attachment.render(context)
    end

    # After the first condition unless works just like if
    @blocks[1..-1].each do |block|
      if block.evaluate(context)
        return block.attachment.render(context)
      end
    end

    ''.freeze
  end
end