I could see how the server side C++ program would create a more professional and cheat proof user experience, but it seems like it would magnify the server load by orders of magnitude.
I don't see why you want to minimalise the server load so damn much when actually the compiled server program written with c++ for turn based simple battle game would run faster and with less memory than your ruby script + RoR interpereter + Apache. Another thing is that your http requests would be much larger than your tcp/udp packets would be, which would raise your bandwidth usage.
You would do a call like http://yourdomain.com/battle.rb?didmg=55
This http request would be:
GET /battle.rb?didmg=55 HTTP/1.1
The response then again would be something like this:
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/22.214.171.124 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Content-Type: text/html; charset=UTF-8
The most funny thing is that all of this could be two different packets
dd55 and rd55 which is 8 bytes instead of ton of data.