This is a sample light-weight rails3 application, that is intended to work with AppEngine.
I use it to drive development of “thrust” – a library that will ease development of appengine applications in ruby. While this library is currently part of this application (located in lib/thrust) I am planning to extract it as soon as its feature set matures.
You can run a rack server in development mode with whatever rack server you like. Webrick too:
rails server
Thrust adds a middleware that stubs out the appengine calls. This is similar to the appengine development server, but doesn’t require the application to be packaged. Hence all the goodies, such as changes taking immediate effect, are available.
You can also run the appengine development server with:
rake thrust:jetty
This will package your current application, unpack it into war/ directory and run the dev_appserver pointing to it.
Note that this will start the application in production mode. This is as close as you can get to running your application in AppEngine environment without doing a deploy.
rake thrust:deploy
Yea, it’s that easy!
-
The first time you access your AppEngine site, you may get a 500, complaining about log stream being closed. Reloading the page tends to fix this bug.
At this time all of the codebase is highly experimental. I tend to rebase quite often and push the rebases upstream (making cloned repositories not compatible with updated). Thus, if you cloned, feel free to let you know, so I can give you a heads up if a rebase is coming and try to ease your pain.
Ping me: [email protected] or @dfr|work at #rubyonrails on FreeNode.