class Erubis::Engine
def process_proc(proc_obj, context=nil, filename=nil)
# context may be Binding, Hash, or Object.
# helper method evaluate Proc object with contect object.
#
def process_proc(proc_obj, context=nil, filename=nil) if context.is_a?(Binding) filename ||= '(erubis)' return eval(proc_obj, context, filename) else context = Context.new(context) if context.is_a?(Hash) return context.instance_eval(&proc_obj) end end