class Liquid::Capture

Capture stores the result of a block into a variable without rendering it inplace.

{% capture heading %}
  Monkeys!
{% endcapture %}
...
<h1>{{ heading }}</h1>

Capture is useful for saving content for use later in your template, such as in a sidebar or footer.

Constants

Syntax

Public Class Methods

new(tag_name, markup, options) click to toggle source
Calls superclass method Liquid::Block.new
# File lib/liquid/tags/capture.rb, line 16
def initialize(tag_name, markup, options)
  super
  if markup =~ Syntax
    @to = $1
  else
    raise SyntaxError.new(options[:locale].t("errors.syntax.capture"))
  end
end

Public Instance Methods

blank?() click to toggle source
# File lib/liquid/tags/capture.rb, line 32
def blank?
  true
end
render(context) click to toggle source
Calls superclass method Liquid::Block#render
# File lib/liquid/tags/capture.rb, line 25
def render(context)
  output = super
  context.scopes.last[@to] = output
  context.resource_limits.assign_score += output.length
  ''.freeze
end