Sha256: 9e2f80ce5eaf85c67542353f0f077d1cee052564ac100c264147ef3c427883f9
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module Liquid # @liquid_public_docs # @liquid_type tag # @liquid_category variable # @liquid_name capture # @liquid_summary # Creates a new variable with a string value. # @liquid_description # You can create complex strings with Liquid logic and variables. # @liquid_syntax # {% capture variable %} # value # {% endcapture %} # @liquid_syntax_keyword variable The name of the variable being created. # @liquid_syntax_keyword value The value you want to assign to the variable. class Capture < Block Syntax = /(#{VariableSignature}+)/o def initialize(tag_name, markup, options) super if markup =~ Syntax @to = Regexp.last_match(1) else raise SyntaxError, options[:locale].t("errors.syntax.capture") end end def render_to_output_buffer(context, output) context.resource_limits.with_capture do capture_output = render(context) context.scopes.last[@to] = capture_output end output end def blank? true end end Template.register_tag('capture', Capture) end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
liquid-5.5.1 | lib/liquid/tags/capture.rb |
liquid-5.5.0 | lib/liquid/tags/capture.rb |
liquid-5.4.0 | lib/liquid/tags/capture.rb |