class Slimi::Filters::Output

Handle ‘[:slimi, :output, escape, code, multi]`.

Constants

IF_REGEXP

Public Instance Methods

on_slimi_output(escape, code, multi) click to toggle source

@param [Boolean] escape @param [String] code @param [Array] multi @return [Array]

# File lib/slimi/filters/output.rb, line 15
def on_slimi_output(escape, code, multi)
  if code.match?(IF_REGEXP)
    tmp = unique_name
    [
      :multi,
      [:block, "#{tmp} = #{code}", options[:disable_capture] ? compile(multi) : [:capture, unique_name, compile(multi)]],
      [:escape, escape, [:dynamic, tmp]]
    ]
  else
    [
      :multi,
      [:escape, escape, [:dynamic, code]],
      multi
    ]
  end
end