class Tilt::Template
def evaluate(scope, locals, &block)
This method is only used by source generating templates. Subclasses that
locals specified and with support for yielding to the block.
evaluation is guaranteed to be performed in the scope object with the
Execute the compiled template and return the result string. Template
def evaluate(scope, locals, &block) if @fixed_locals locals_keys = EMPTY_ARRAY else locals_keys = locals.keys locals_keys.sort!{|x, y| x.to_s <=> y.to_s} end unless scope_class = @scope_class scope_class = case scope when Object Module === scope ? scope : scope.class else # :nocov: USE_BIND_CALL ? CLASS_METHOD.bind_call(scope) : CLASS_METHOD.bind(scope).call # :nocov: end end evaluate_method(compiled_method(locals_keys, scope_class), scope, locals, &block) end