Class: Temple::CoffeeScript::Filters::Escapable
- Defined in:
- lib/temple/coffee_script/filters/escapable.rb
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ Escapable
constructor
A new instance of Escapable.
- #on_dynamic(value) ⇒ Object
- #on_escape(flag, exp) ⇒ Object
- #on_static(value) ⇒ Object
Methods included from Mixins::IndentDispatcher
Constructor Details
#initialize(opts = {}) ⇒ Escapable
Returns a new instance of Escapable.
10 11 12 13 14 15 16 |
# File 'lib/temple/coffee_script/filters/escapable.rb', line 10 def initialize(opts = {}) super @escape_code = [:escape_code] || "::Temple::Utils.escape_html#{[:use_html_safe] ? '_safe' : ''}((%s))" @escaper = eval("proc {|v| #{@escape_code % 'v'} }") @escape = false end |
Instance Method Details
#on_dynamic(value) ⇒ Object
30 31 32 |
# File 'lib/temple/coffee_script/filters/escapable.rb', line 30 def on_dynamic(value) [:dynamic, @escape ? "@escape(#{value})" : value] end |
#on_escape(flag, exp) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/temple/coffee_script/filters/escapable.rb', line 18 def on_escape(flag, exp) old = @escape @escape = flag && ![:disable_escape] compile(exp) ensure @escape = old end |
#on_static(value) ⇒ Object
26 27 28 |
# File 'lib/temple/coffee_script/filters/escapable.rb', line 26 def on_static(value) [:static, @escape ? @escaper[value] : value] end |