Sha256: 6617ed8c0d7a5f9d7e1196c7b18b244da37985b2b25b12d74705cd07337b2101
Contents?: true
Size: 961 Bytes
Versions: 3
Compression:
Stored size: 961 Bytes
Contents
# frozen_string_literal: true require_relative 'if' module Liquid # Unless is a conditional just like 'if' but works on the inverse logic. # # {% unless x < 0 %} x is greater than zero {% endunless %} # class Unless < If def render_to_output_buffer(context, output) # First condition is interpreted backwards ( if not ) first_block = @blocks.first result = Liquid::Utils.to_liquid_value( first_block.evaluate(context) ) unless result return first_block.attachment.render_to_output_buffer(context, output) end # After the first condition unless works just like if @blocks[1..-1].each do |block| result = Liquid::Utils.to_liquid_value( block.evaluate(context) ) if result return block.attachment.render_to_output_buffer(context, output) end end output end end Template.register_tag('unless', Unless) end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
liquid-5.3.0 | lib/liquid/tags/unless.rb |
liquid-5.2.0 | lib/liquid/tags/unless.rb |
liquid-5.1.0 | lib/liquid/tags/unless.rb |