Getting Started with Ruby on Rails - What Tools do you Use?

“I am wanting to get into Ruby and Ruby on Rails development – what tools should I use, so I can start with a leg up?”

It’s a great question, and once we answered, our friend said: “you should put this on-line.” So here goes…

We’re all Mac-heads, so we use Mac OS X Snow Leopard, with either VMWare or VirtualBox to run Windows 7 (for browser testing).

We use many different Ruby versions – each client’s project may require a different version (ruby 1.8, ruby 1.9, JRuby, etc.), so we use a tool called RVM to allow us to switch between Ruby versions on a per project basis. If you’re brand new, the default Ruby 1.8.7 should be fine.

We use TextMate to edit code in projects, but only because we wrote the book on it. A few of us use Vim, and because of the internal competition (can Textmate do this? Can Vim do this?), we’re always getting more productive with both.

We use the MySQL database and often times, SQLite (it ships with Mac, is built-in and is easy to use for small projects). We also have PostgreSQL installed for a few clients.

We use Basecamp for Project Management, and Pivotal Tracker for tracking feature development. We use test/unit to write unit testing, RSpec when the time is right, and Cucumber for speeding up development (and getting it done right). We also use Selenium (in conjunction with Cucumber) for doing high level feature development. If you’re just getting started, stick to test/unit, and then add in RSpec and Cucumber when you realize why you really need these tools.

In a nut-shell, we always do feature development off a list of stories, either in an iteration, or from a moving, constantly prioritized back-log, that includes descriptions, screenshots, and what we call “acceptance criteria”, which is just a fancy word for: “how will we know when the feature we built is working?”