whole_func_string: function(engine) {
        var context = this, engine_match;
        // if path is actually an engine function just return it
        if (_isFunction(engine)) { return engine; }
        // lookup engine name by path extension
        engine = (engine || context.app.template_engine).toString();
        if ((engine_match = engine.match(/\.([^\.]+)$/))) {
          engine = engine_match[1];
        }
        // set the engine to the default template engine if no match is found
        if (engine && _isFunction(context[engine])) {
          return context[engine];
        }
  
        if (context.app.template_engine) {
          return this.engineFor(context.app.template_engine);
        }
        return function(content, data) { return content; };
      }
func_code_string: function(engine) {
        var context = this, engine_match;
        // if path is actually an engine function just return it
        if (_isFunction(engine)) { return engine; }
        // lookup engine name by path extension
        engine = (engine || context.app.template_engine).toString();
        if ((engine_match = engine.match(/\.([^\.]+)$/))) {
          engine = engine_match[1];
        }
        // set the engine to the default template engine if no match is found
        if (engine && _isFunction(context[engine])) {
          return context[engine];
        }
  
        if (context.app.template_engine) {
          return this.engineFor(context.app.template_engine);
        }
        return function(content, data) { return content; };
      }
func_documentation_string: Look up a templating engine within the current app and context. `engine` can be one of the following:  * a function: should conform to `function(content, data) { return interploated; }` * a template path: 'template.ejs', looks up the extension to match to the `ejs()` helper * a string referering to the helper: "mustache" => `mustache()`  If no engine is found, use the app's default `template_engine`