ANN: RSpactor 0.9.10 (aka. beta)
Here we go. RSpactor 0.9.10 is a first preview/beta version of the upcoming RSpactor.app for Mac OS X Leopard. It isn’t really stable yet, so expect it to crash from time to time, but it is already running in ‘production’ on a few machines. I hope to find some people who are willing to help me testing RSpactor.

Caveats
There are still things to do until the 1.0 release. As I said it is a little unstable, especially if you are changing a bulk of files at once (e.g. removing ‘vendor/rails’ on a rails app). I’m trying to solve this issue for the next release. Beside of that I’m going to rewrite the mechanism to find ruby files and their corresponding spec. This is currently much to static and often unable to find files, especially for sub directories with an unusual structure.
Get it
Download RSpactor and tell me what you think ;)
The source is located on github ..
Update: Thanks to the guys over at lighthouse we now have a place to file bugs and stuff like that..
Update 2: I’ve created a google group to talk about certain issues
Whats happening to RSpactor
About a month ago I released a first version of RSpactor, a continious testing tool for mac. Although it got public as some kind of early prototype, it received a lot of attention and I’ve heard that some people a really using it already. I’m so happy about that. Thank you all.
Over the last week I thought a lot about how and where to go with RSpactor and what it should become for me. So here are two decisions that will influence the development of the future testing tool.
RSpactor will stay on Mac and on Leopard and it will become a cocoa desktop application; away from console. This means that I have canceled my plans on adding Linux support to the application. RSpactor is hosted on Gitorious what makes forking and adding Linux support damn easy =)
Getting RubyCocoa on your Mac
RubyCocoa is a great framework if you want to create Mac applications with the special flavor. It provides you with everything you need to interact with the Mac OS X system. RSpactor, e.g., is using RubyCocoa’s FSEvent interface to listen to your file system. This article is a description of how to build RubyCocoa from source on your Mac.
Getting, building, using
At first you need to download the latest source tarball from here. After the download has finished simply unzip and chdir in the newly extracted directory.
tar zxf RubyCocoa-0.13.2.tgz
cd RubyCocoa-0.13.2
Now we have a local copy of the RubyCocoa source. Its time for building and installation.
ruby install.rb config --build-universal=no
ruby install.rb setup
sudo ruby install.rb install
At this point RubyCocoa is already available on your system. Lets fire up irb to make sure that your new RubyCocoa installation is working properly.
irb
require "osx/foundation"
At this point you should see a nice “true”. If you have any problems comment here or have a look at http://rubycocoa.sourceforge.net/GettingStarted.
Hello world: Introducing RSpactor
This is my first post at rubyphunk.com, so let me welcome you all: ‘Hello World’. Along with this initial post goes the release of a first version (0.2.0) of RSpactor.
RSpactor?
RSpactor is a little command line tool to automatically run your changed specs (much like autotest). As you may expect, it concentrates on the use of RSpec. It was especially designed to use filesystem events like FSEvent on Leopard (MacOS 10.5) instead of permanently polling a directory structure. RSpactor is currently only working on Mac OS 10.5. But hey: I’m very confident that the next version of RSpactor will work on Linux boxes, too.
Features
- Application agnostic: RSpactor can be used with any ruby project
- Subdirectory agnostic: RSpactor is capable of running all specs under a specific subdirectory
- RSpactor uses system events (fast and polite to your box)
- Growl integration
Dependencies & Limitations
Due to its design of using FSEvent, it is currently limited to Mac OS X 10.5 (Leopard) only. RSpactor requires RubyCocoa, that is shipped with Leopard. Furthermore it expects your “spec/” directory to be located directly under the root of your project.
Installation & Usage
Setup: sudo gem install rspactor
Run: cd /path/to/your/app/or/subdir/of/your/app && rspactor
Perspective
This is a very “draft” and early version if RSpactor. Please don’t expect it to work without any failures. If you have any ideas or may want to contribute, just drop me a line. The next release comes with polished source, linux support and specs (I’m aware of the fact, that RSpactor is a test-runner that doesn’t even contain one single spec :-) ).

