What is Zeus?
Zeus preloads your app so that your normal development tasks such as
generate, and specs/tests take less than one second.
This screencast gives a quick overview of how to use zeus:
- OS X 10.7+
- Ruby 1.9+
- Rails 3.0+ (Support for other versions is not difficult and is planned.)
- Backported GC from Ruby 2.0.
You can install the GC-patched ruby from this gist or from RVM. This is not actually 100% necessary, especially if you have a lot of memory. Feel free to give it a shot first without, but if you're suddenly out of RAM, switching to the GC-patched ruby will fix it.
Install the gem.
gem install zeus
Q: "I should put it in my
A: You can, but running
bundle exec zeus instead of
zeus can add precious seconds to a command that otherwise would take 200ms. Zeus was built to be run from outside of bundler.
Start the server:
Run some commands:
zeus console zeus server zeus testrb test/unit/widget_test.rb zeus rspec spec/widget_spec.rb zeus generate model omg zeus rake -T zeus runner omg.rb
Fork, Branch, Pull Request.
Check Rails tests if you change something rails related.
- To Michael Grosser for various contributions
- To Stefan Penner for discussion and various contributions.
- To Samuel Kadolph for doing most of the cross-process pseudoterminal legwork.
- To Jesse Storimer for spin, part of the inspiration for this project
- To Shopify for letting me spend (some of) my days working on this.
Doesn't work for you?
Try these libraries instead: