module Haml::Precompiler
def push_script(text, preserve_script, in_tag = false, preserve_tag = false,
If preserve_script is true, Haml::Helpers#find_and_flatten is run on
the scope object and the result to be added to @buffer.
Causes text to be evaluated in the context of
def push_script(text, preserve_script, in_tag = false, preserve_tag = false, escape_html = false, nuke_inner_whitespace = false) # Prerender tabulation unless we're in a tag push_merged_text '' unless in_tag flush_merged_text return if options[:suppress_eval] raise SyntaxError.new("There's no Ruby code for = to evaluate.") if text.empty? push_silent "haml_temp = #{text}" newline_now args = [preserve_script, in_tag, preserve_tag, escape_html, nuke_inner_whitespace].map { |a| a.inspect }.join(', ') out = "haml_temp = _hamlout.push_script(haml_temp, #{args});" if @block_opened push_and_tabulate([:loud, out]) else @precompiled << out end end