class Temple::Filters::Escapable
Escape dynamic or static expressions. This filter must be used after Temple::HTML::* and before the generators. It can be enclosed with Temple::Filters::DynamicInliner
filters to reduce calls to Temple::Utils#escape_html
.
@api public
Public Class Methods
new(opts = {})
click to toggle source
Calls superclass method
Temple::Mixins::Options::new
# File lib/temple/filters/escapable.rb, line 15 def initialize(opts = {}) super @escape_code = options[:escape_code] || "::Temple::Utils.escape_html#{options[:use_html_safe] ? '_safe' : ''}((%s))" @escaper = eval("proc {|v| #{@escape_code % 'v'} }") @escape = false end
Public Instance Methods
on_dynamic(value)
click to toggle source
# File lib/temple/filters/escapable.rb, line 35 def on_dynamic(value) [:dynamic, @escape ? @escape_code % value : value] end
on_escape(flag, exp)
click to toggle source
# File lib/temple/filters/escapable.rb, line 23 def on_escape(flag, exp) old = @escape @escape = flag && !options[:disable_escape] compile(exp) ensure @escape = old end
on_static(value)
click to toggle source
# File lib/temple/filters/escapable.rb, line 31 def on_static(value) [:static, @escape ? @escaper[value] : value] end