Parent

Class/Module Index [+]

Quicksearch

Merb::Template::Erubis

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

[Validate]

Generated with the Darkfish Rdoc Generator 2.