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
|
# File 'lib/haml/safemode.rb', line 13
def precompile_for_safemode(filename, ignore_assigns = [], delegate_methods = [])
@precompiled.gsub!('\\','\\\\\\')
" buffer = Haml::Buffer.new(\#{options_for_buffer.inspect})\n local_assigns = local_assigns.merge :_hamlout => buffer\n \n handler = ActionView::TemplateHandlers::SafeHaml\n assigns = handler.valid_assigns(@template.assigns)\n methods = handler.delegate_methods(self)\n code = %Q(\#{code});\n \n box = Safemode::Box.new(self, methods, \#{filename.inspect}, 0)\n box.eval(code, assigns, local_assigns, &lambda{ yield }) \n buffer.buffer \n CODE\n\n # preamble = \"buffer = Haml::Buffer.new(\#{options_for_buffer.inspect})\n # local_assigns = local_assigns.merge :_hamlout => buffer\n # assigns = @template.assigns.reject{|key, value| \#{ignore_assigns.inspect}.include?(key) };\".gsub(\"\\n\", ';')\n # \n # postamble = \"box = Safemode::Box.new(self, \#{delegate_methods.inspect})\n # box.eval(code, assigns, local_assigns, &lambda{ yield })\n # buffer.buffer\".gsub(\"\\n\", ';')\n # \n # preamble + \"code = %Q(\#{@precompiled});\" + postamble\nend\n"
|