/usr/lib/ruby/vendor_ruby/temple/filters/escapable.rb is in ruby-temple 0.6.7-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | module Temple
module Filters
# 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
class Escapable < Filter
# Activate the usage of html_safe? if it is available (for Rails 3 for example)
define_options :escape_code,
:use_html_safe => ''.respond_to?(:html_safe?),
:disable_escape => false
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
def on_escape(flag, exp)
old = @escape
@escape = flag && !options[:disable_escape]
compile(exp)
ensure
@escape = old
end
def on_static(value)
[:static, @escape ? @escaper[value] : value]
end
def on_dynamic(value)
[:dynamic, @escape ? @escape_code % value : value]
end
end
end
end
|