Sha256: a844990bb91fb5bae1c6b78dbd38f1b2b0326900618d1571dc871a2296efcd2c

Contents?: true

Size: 543 Bytes

Versions: 3

Compression:

Stored size: 543 Bytes

Contents

require 'faml/filter_compilers/base'

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

      def compile(texts)
        temple = [:multi, [:newline]]
        compile_texts(temple, texts)
        temple << [:static, "\n"]
        escape_code = Temple::Filters::Escapable.new.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

3 entries across 3 versions & 1 rubygems

Version Path
faml-0.2.2 lib/faml/filter_compilers/escaped.rb
faml-0.2.1 lib/faml/filter_compilers/escaped.rb
faml-0.2.0 lib/faml/filter_compilers/escaped.rb