class Merb::Template::Erubis
Constants
- XmlHelper
Fixing bug in Erubis rubyforge.org/tracker/index.php?func=detail&aid=21825&group_id=1320&atid=5201
Public Class Methods
compile_template(io, name, locals, mod)
click to toggle source
Parameters¶ ↑
- io<#path>
-
An IO containing the full path of the template.
- name<String>
-
The name of the method that will be created.
- locals
> A list of locals to assign from the args passed into the compiled template.
- mod<Module>
The module that the compiled method will be placed into.
:api: private
# File lib/merb-core/controller/template.rb, line 201 def self.compile_template(io, name, locals, mod) template = ::Erubis::BlockAwareEruby.new(io.read) _old_verbose, $VERBOSE = $VERBOSE, nil assigns = locals.inject([]) do |assigns, local| assigns << "#{local} = _locals[#{local.inspect}]" end.join(";") code = "def #{name}(_locals={}); #{assigns}; #{template.src}; end" mod.module_eval code, File.expand_path(io.path) $VERBOSE = _old_verbose name end