This is an effort to vastly decrease the time it takes to run a single
unit test file and therefore increase productivity and happiness for
people working on this project.
If you want to run a unit test file, now you can use `zeus rspec`
instead of `rspec` -- assuming you run `zeus start` first -- and it will
run a LOT faster.
Because test files tend to have long file paths, you can even use a
shorter version of those paths. So instead of saying:
zeus rspec spec/unit/shoulda/matchers/active_record/validate_uniqueness_of_matcher_spec.rb
you can say:
zeus rspec active_record/validate_uniqueness_of_matcher_spec.rb
* Add missing steps to CONTRIBUTING and reorganize it a bit.
* `bundle exec rake` no longer runs all tests in all appraisals, only
the tests in the latest appraisal.
* Add a `.ruby-version` file so people don't have to figure out which
version of Ruby to install.
[ci skip]
Currently, `rake` does run the `appraise` task before running tests. If
you run `rake appraise` on its own, it runs `rake appraise:install`
beforehand. However, the way that `rake` runs `appraise` is by
executing, not invoking, it. Hence, `appraisal:install` will actually
not be run (as #execute does not run dependencies for the task being
executed).
This fix is mostly useful when running tests locally -- on Travis this
isn't a problem b/c we are running `rake spec cucumber` instead of just
`rake`.