class ERB

def def_method(mod, methodname, fname='(ERB)')

print MyClass.new.render('foo', 123)
erb.def_method(MyClass, 'render(arg1, arg2)', filename)
erb = ERB.new(File.read(filename))
filename = 'example.rhtml' # 'arg1' and 'arg2' are used in example.rhtml
example:

Define _methodname_ as instance method of _mod_ from compiled Ruby source.
def def_method(mod, methodname, fname='(ERB)')
  src = self.src.sub(/^(?!#|$)/) {"def #{methodname}\n"} << "\nend\n"
  mod.module_eval do
    eval(src, binding, fname, -1)
  end
end