class Haml::Filters::Ruby2JS
Public Instance Methods
compile(node)
click to toggle source
# File lib/ruby2js/haml.rb, line 26 def compile(node) temple = [:multi] temple << [:static, "<script type='text/javascript'>\n"] compile_ruby!( temple , node ) temple << [:static, "\n</script>"] temple end
compile_ruby!(temple, node)
click to toggle source
Copird from text base, added ruby2js convert
# File lib/ruby2js/haml.rb, line 35 def compile_ruby!(temple, node) text = node.value[:text] if ::Haml::Util.contains_interpolation?(node.value[:text]) # original: Haml::Filters#compile text = ::Haml::Util.unescape_interpolation(text).gsub(/(\\+)n/) do |s| escapes = $1.size next s if escapes % 2 == 0 "#{'\\' * (escapes - 1)}\n" end text.prepend("\n") temple << [:dynamic, "::Ruby2JS.convert(#{text} ).to_s"] else temple << [:static, ::Ruby2JS.convert(text).to_s] end end