class Erubis::Main

def do_action(action, engine, context, filename, opts)

def do_action(action, engine, context, filename, opts)
  case action
  when 'convert'
    s = manipulate_src(engine.src, opts)
  when nil, 'exec', 'execute'
    s = opts.binding ? engine.result(context.to_hash) : engine.evaluate(context)
  when 'syntax'
    s = check_syntax(filename, engine.src)
  else
    raise "*** internal error"
  end
  print s if s
  return s
end