class Erubis::Engine

def process(input, context=nil, filename=nil)

#
# context may be Binding, Hash, or Object.
# helper method to convert and evaluate input text with context object.
#
def process(input, context=nil, filename=nil)
  code = convert(input)
  filename ||= '(erubis)'
  if context.is_a?(Binding)
    return eval(code, context, filename)
  else
    context = Context.new(context) if context.is_a?(Hash)
    return context.instance_eval(code, filename)
  end
end