Sha256: ded08f4a713835b40593fd9a559c2853c345c2e99d1dcd797f640e76e486f2f9
Contents?: true
Size: 852 Bytes
Versions: 76
Compression:
Stored size: 852 Bytes
Contents
# frozen_string_literal: true require 'hamlit/escapable' module Hamlit # This module allows Temple::Filter to dispatch :fescape on `#compile`. module FescapeDispathcer def on_fescape(flag, exp) [:fescape, flag, compile(exp)] end end ::Temple::Filter.include FescapeDispathcer # Unlike Hamlit::Escapable, this escapes value even if it's html_safe. class ForceEscapable < Escapable def initialize(opts = {}) super @escape_code = options[:escape_code] || "::Hamlit::Utils.escape_html((%s))" @escaper = eval("proc {|v| #{@escape_code % 'v'} }") end alias_method :on_fescape, :on_escape # ForceEscapable doesn't touch :escape expression. # This method is not used if it's inserted after Hamlit::Escapable. def on_escape(flag, exp) [:escape, flag, compile(exp)] end end end
Version data entries
76 entries across 76 versions & 1 rubygems