| In: |
erb.rb
|
| Parent: | Object |
| Revision | = | '$Date: 2004/02/28 02:00:37 $' |
| filename | [RW] | |
| src | [R] |
# File erb.rb, line 385 def initialize(str, safe_level=nil, trim_mode=nil, eoutvar='_erbout') @safe_level = safe_level compiler = ERB::Compiler.new(trim_mode) set_eoutvar(compiler, eoutvar) @src = compiler.compile(str) @filename = nil end
# File erb.rb, line 435 def def_class(superklass=Object, methodname='result') cls = Class.new(superklass) def_method(cls, methodname) cls end
# File erb.rb, line 425 def def_method(mod, methodname, fname='(ERB)') mod.module_eval("def #{methodname}\n" + self.src + "\nend\n", fname, 0) end
# File erb.rb, line 429 def def_module(methodname='erb') mod = Module.new def_method(mod, methodname) mod end
# File erb.rb, line 413 def result(b=TOPLEVEL_BINDING) if @safe_level th = Thread.start { $SAFE = @safe_level eval(@src, b, (@filename || '(erb)'), 1) } return th.value else return eval(@src, b, (@filename || '(erb)'), 1) end end