module Slim # Compiles Slim expressions into Temple::HTML expressions. # @api private class Compiler < Filter # Handle control expression `[:slim, :control, code, content]` # # @param [String] ruby code # @param [Array] content Temple expression # @return [Array] Compiled temple expression def on_slim_control(code, content) [:multi, [:code, code], compile(content)] end # Handle conditional comment expression # `[:slim, :conditional_comment, conditional, content]` # # @param [Array] content Temple expression # @return [Array] Compiled temple expression def on_slim_condcomment(condition, content) [:html, :comment, [:multi, [:static, "[#{condition}]>"], compile(content), [:static, '