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.
9 10 11 12 13 14 |
# File 'lib/temple/coffee_script/filters/escapable.rb', line 9 def initialize(opts = {}) super @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
28 29 30 |
# File 'lib/temple/coffee_script/filters/escapable.rb', line 28 def on_dynamic(value) [:dynamic, @escape ? "@escape(#{value})" : value] end |
#on_escape(flag, exp) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/temple/coffee_script/filters/escapable.rb', line 16 def on_escape(flag, exp) old = @escape @escape = flag && ![:disable_escape] compile(exp) ensure @escape = old end |
#on_static(value) ⇒ Object
24 25 26 |
# File 'lib/temple/coffee_script/filters/escapable.rb', line 24 def on_static(value) [:static, @escape ? @escaper[value] : value] end |