Sha256: a515f5dd934f09707fbcfec56a72edda68a3fc7d33a82e99a64fcc51666af8c8

Contents?: true

Size: 564 Bytes

Versions: 10

Compression:

Stored size: 564 Bytes

Contents

require_relative 'base'

module Faml
  module FilterCompilers
    class Escaped < Base
      include Temple::Utils

      def compile(ast)
        temple = [:multi, [:newline]]
        compile_texts(temple, ast.lineno, ast.texts)
        temple << [:static, "\n"]
        escape_code = Temple::Filters::Escapable.new(use_html_safe: false).instance_variable_get(:@escape_code)
        sym = unique_name
        [:multi,
         [:capture, sym, temple],
         [:dynamic, escape_code % sym],
        ]
      end
    end

    register(:escaped, Escaped)
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
faml-0.6.0 lib/faml/filter_compilers/escaped.rb
faml-0.5.1 lib/faml/filter_compilers/escaped.rb
faml-0.5.0 lib/faml/filter_compilers/escaped.rb
faml-0.4.2 lib/faml/filter_compilers/escaped.rb
faml-0.4.1 lib/faml/filter_compilers/escaped.rb
faml-0.4.0 lib/faml/filter_compilers/escaped.rb
faml-0.3.6 lib/faml/filter_compilers/escaped.rb
faml-0.3.5 lib/faml/filter_compilers/escaped.rb
faml-0.3.4 lib/faml/filter_compilers/escaped.rb
faml-0.3.3 lib/faml/filter_compilers/escaped.rb